草庐IT

c# - 如何从代码 (EF Core) 应用迁移

这是一些有效的EF6迁移代码:Database.SetInitializer(null);varsettings=newMigrationsConfiguration();varmigrator=newDbMigrator(settings);migrator.Update();使用EFCore的等效项是什么? 最佳答案 在beta7及更高版本中,使用:usingMicrosoft.Data.Entity;...context.Database.Migrate(); 关于c#-如何从代码

c# - DropCreateDatabaseIfModelChanges EF6 导致 System.InvalidOperationException : The model backing the context has changed

迁移到EntityFramework6后,我在构建服务器上执行单元测试时遇到错误。我正在使用DropCreateDatabaseIfModelChanges初始化程序。当我将其更改为MigrateDatabaseToLatestVersion时一切正常,但我想坚持使用之前的初始化程序。我得到的错误是:System.InvalidOperationException:System.InvalidOperationException:Themodelbackingthe'AppContext'contexthaschangedsincethedatabasewascreated.Consi

c# - 如何使用 EF 6 Fluent Api 添加复合唯一键?

我有一个表(Id,name,itemst,otherproperties),Id是主键,我想要一个唯一的组合键(name,itemst)。我如何通过流畅的API(首选)或注释首先使用代码添加它? 最佳答案 假设您有一个名为的实体publicclassMyTable{publicintId{get;set;}publicStringName{get;set;}}您可以使用以下方法创建组合键publicclassYourContext:DbContext{publicDbSetMyTables{get;set;}protectedove

c# - 如何使用 EF 迁移将 int ID 列更改为 Guid?

我正在使用EF代码优先方法并想将Id字段更改为guid但似乎无法通过以下错误。这是我的第一次迁移:publicpartialclassCreateDownloadToken:DbMigration{publicoverridevoidUp(){CreateTable("dbo.DownloadTokens",c=>new{Id=c.Int(nullable:false,identity:true),FileId=c.Int(),UserId=c.String(nullable:false,maxLength:128),ValidUntil=c.DateTime(nullable:fal

c# - 集成测试 ASP.NET Core Web API 和 EF Core 时重新配置依赖项

我正在学习本教程IntegrationTestingwithEntityFrameworkCoreandSQLServer我的代码是这样的集成测试类publicclassControllerRequestsShould:IDisposable{privatereadonlyTestServer_server;privatereadonlyHttpClient_client;privatereadonlyYourContext_context;publicControllerRequestsShould(){//ArrangevarserviceProvider=newServiceCo

c# - 通过字符串生成EF orderby表达式

这个问题在这里已经有了答案:DynamicLINQOrderByonIEnumerable/IQueryable(22个答案)关闭8个月前。我想通过字符串参数生成表达式,代码如下:privateExpression>Generate(stringorderby){switch(orderby){case"Time":returnt=>t.Time;case"Money":returnt=>t.RewardMoney;default:returnt=>t.Id;}}然后调用它:_context.Items.OrderBy(Generate("Money"));但是编译不了!我将T更改为对

c# - 如何在 EF Core 中实例化 DbContext

我还设置了.net核心项目和数据库上下文。但是由于这个错误,我还不能开始使用dbContext-"thereisnoargumentgiventhatcorrespondstotherequiredformalparameter'options'"Controller:publicIActionResultIndex(){using(vardb=newBlexzWebDb()){}returnView();}数据库上下文代码:publicclassBlexzWebDb:DbContext{publicBlexzWebDb(DbContextOptionsoptions):base(op

c# - 为什么在 Edmx 做同样的工作时使用 EF 5.X DbContext Generator?

我发现这个EF5dbContext很难掌握。在VisualStudio2012中,当我选择项目>添加新项目>ADO.Net实体数据模型然后选择AdventureWorks数据库文件,它会生成一个edmx文件(在要求我将数据库文件复制到本地之后)。就是这样,我现在可以开始运行查询了,例如AdventureWorks_DataEntitiesentities=newAdventureWorks_DataEntitiesvarquery=frompinentities.Productswherep.ListPrice>=0selectp;让我困惑的是,那我为什么要使用Project>AddN

c# - EF Code First - 在 nvarchar 上全局设置 varchar 映射

我有一个应该很简单的问题,但我自己却找不到答案。我正在使用EF4CTP-5CodeFirst模型和手动生成的POCO。它将生成的SQL中的字符串比较处理为WHEREN'Value'=Object.Property我知道我可以使用以下方法覆盖此功能:[Column(TypeName="varchar")]publicstringProperty{get;set;}它修复了单次出现的问题并正确生成SQL为:WHERE'Value'=Object.Property但是,我正在处理一个非常大的域模型,遍历每个字符串字段并设置TypeName="varchar"将非常乏味。我想指定EF应该全面地

c# - EF4.1 代码优先 : How to disable delete cascade for a relationship without navigation property in dependent entity

假设我有这两个非常基本的实体:publicclassParentEntity{publicintId;publicvirtualICollectionChildrens;}publicclassChildEntity{publicintId;publicintParentEntityId;//ForeignKeypublicvirtualParentEntityparent;//[NOTWANTED]}出于某些原因,我不希望ChildEntity保留对其父项的引用。我只希望它保留ParentEntityid但仅此而已。到目前为止,没问题,我只是删除了[NOTWANTED]行,一切都按预