草庐IT

4Framework

全部标签

c# - 协作环境中 Entity Framework 中的迁移

我们有多个开发人员在开发一个使用EntityFramework5.0的项目。每个开发人员都使用自己的本地SQL2012数据库,因此他可以在不妨碍其他人的情况下进行开发和测试。起初,我们混合使用了自动迁移和基于代码的迁移。这根本不起作用,因此我们决定禁用自动迁移并仅允许基于代码的迁移。我应该补充一点,我们从一个干净的数据库重新开始,没有“损坏”_MigrationsHistory从所有自动迁移。所以现在的工作流程是:开发人员更改他的数据模型是否add-migration并将其应用到他的数据库update-database.检查数据模型更改和迁移到Git。另一个开发人员拉取、接收更改并将其

c# - Entity Framework 包含()不工作

我有以下EF查询:TestEntitiesdb=newTestEntities();varquestions=fromqindb.Questions.Include("QuestionType")fromsqindb.SurveyQuestionswheresq.Survey==surveyTypeIDorderbysq.Orderselectq;foreach(varquestioninquestions){//ERROR:NullReferenceExceptionConsole.WriteLine("QuestionType:"+question.QuestionType.Des

c# - 如何清理 Entity Framework 对象上下文?

我正在向对象上下文添加多个实体。try{forach(vardocumentindocuments){this.Validate(document);//MaythrowaValidationException.this.objectContext.AddToDocuments(document);}this.objectContext.SaveChanges();}catch{//Howtoclean-uptheobjectcontexthere?throw;}如果一些文档通过验证而一个失败,则所有通过验证的文档仍将添加到对象上下文中。我必须清理对象上下文,因为它可能会被重用,并且可

c# - 如何清除 Entity Framework 中的跟踪实体

我正在运行一些运行在一大堆实体上的校正代码,随着它的进展速度降低,这是因为上下文中跟踪的实体数量随着每次迭代而增加,这可能需要很长时间,所以我正在保存更改在每次迭代结束时。每次迭代都是独立的,不会更改先前加载的实体。我知道我可以关闭更改跟踪,但我不想这样做,因为它不是批量插入代码,而是加载实体并计算一些东西,如果数字不正确,请设置新数字并更新/删除/创建一些额外的实体。我知道我可以为每次迭代创建一个新的DbContext,这可能比在同一实例中执行所有操作运行得更快,但我认为可能有更好的方法。所以问题是;有没有办法清除之前在数据库上下文中加载的实体? 最佳答案

c# - 使用 Entity Framework 手动输入 key

我首先尝试将EntityFramework代码用于一个简单的数据库项目,但我遇到了一个我根本无法弄清楚的问题。我注意到EF将我的表的ID设置为每次自动增加1,完全忽略了我为该字段手动输入的值。经过一番搜索后,我了解到禁用此行为的正确方法是:modelBuilder.Entity().Property(e=>e.EventID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);但是现在我只是收到这个错误,我不知道为什么:UnhandledException:System.Data.Entity.Infrastructure

c# - 带有 XML 文件的 Entity Framework

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。此贴于4个月前编辑提交审核,未能重开帖子:原始关闭原因未解决Improvethisquestion在EntityFramework中是否有使用XML文件而不是数据库的方法?

c# - 连接子句中的一个表达式的类型在 Entity Framework 中不正确

在尝试执行此查询时:varquery=fromdprinctx.DPR_MMjoinqinctx.QOTondpr.DPR_QOT_IDequalsqot_idjoinpinctx.PAY_MMonnew{q.QOT_SEC_ID,dpr.DPR_TS}equalsnew{p.PAY_SEC_ID,p.PAY_DATE}whereq.QOT_ID=qot_idselectnew{dpr.dpr_ts,dpr.dpr_close,pay.First().pay_dividend};我收到这个错误:Thetypeofoneoftheexpressionsinthejoinclauseisi

c# - Entity Framework ALTER TABLE 语句与 FOREIGN KEY 约束冲突

在EntityFramework中更新数据库时,代码优先迁移,我收到此错误:TheALTERTABLEstatementconflictedwiththeFOREIGNKEYconstraint"FK_dbo.Clients_dbo.MedicalGroups_MedicalGroupId".Theconflictoccurredindatabase"hrbc",table"dbo.MedicalGroups",column'Id'.这是我的课:publicpartialclassClient{[Key,DatabaseGenerated(DatabaseGeneratedOption

c# - 使用 Entity Framework 选择多个列

也许是个简单的问题,但不容易找到所以请原谅我=)我尝试选择多列。我使用的语句是:vardataset2=fromrecordsetinentities.processlistswhererecordset.ProcessName==processnameselectrecordset.ServerName,recordset.ProcessID,recordset.Username;显然,这甚至无法编译。正确的语法是什么?我也尝试过基于方法,甚至这个语法似乎是正确的,当访问它时会抛出“无法将类型‘匿名类型’转换为类型‘AIM.PInfo’”。LINQtoEntities仅支持转换EDM

c# - 仅 Entity Framework 代码错误 : the model backing the context has changed since the database was created

我使用EntityFramework4和CTP4创建了一个“仅限代码”的POCO,用于针对现有数据库。当我运行查询时出现错误Themodelbackingthe'xyzContext'contexthaschangedsincethedatabasewascreated.Eithermanuallydelete/updatethedatabase,orcallDatabase.SetInitializerwithanIDatabaseInitializerinstance.Forexample,theRecreateDatabaseIfModelChangesstrategywilla