Questions tagged «entity-framework»

有关ADO.NET实体框架的问题,请参阅.NET Framework的对象关系映射(ORM)工具。如果适用,请添加特定于版本的标签。请勿对实体框架核心问题使用此标签。请改用entity-framework-core。

30
MSSQL错误“底层提供程序在打开时失败”
我当时使用.mdf来连接到database和entityClient。现在,我想更改连接字符串,以便没有.mdf文件。 以下connectionString正确吗? <connectionStrings> <!--<add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\NData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />--> <add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQL2008;Initial Catalog=NData;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" /> 因为我总是收到错误: 基础提供程序在打开时失败

9
DbEntityValidationException-如何轻松分辨出导致错误的原因?
我有一个使用实体框架的项目。在调用SaveChangesmy时DbContext,出现以下异常: System.Data.Entity.Validation.DbEntityValidationException:对一个或多个实体的验证失败。有关更多详细信息,请参见'EntityValidationErrors'属性。 这一切都很好,但我不想每次发生此异常时都附加一个调试器。而且,在生产环境中,我无法轻松地连接调试器,因此我必须竭尽全力来重现这些错误。 如何查看隐藏在其中的详细信息DbEntityValidationException?

12
实体框架:一个数据库,多个DbContext。这是一个坏主意吗?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 上个月关闭。 改善这个问题 迄今为止,我的印象是a DbContext表示您的数据库,因此,如果您的应用程序使用一个数据库,则只需要一个DbContext。 但是,一些同事希望将功能区域划分为不同的DbContext类。 我相信这是一个好地方-希望保持代码更清洁-但它似乎不稳定。我的直觉告诉我这是一个坏主意,但不幸的是,我的直觉并不能满足设计决策的要求。 所以我在寻找: A)为什么这可能不是一个好主意的具体例子; B)保证一切都会顺利进行。


4
ASP.NET身份DbContext混淆
默认代码MVC 5 App随IdentityModels.cs中的这段代码一起提供-此代码段用于默认模板的所有ASP.NET Identity操作: public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext() : base("DefaultConnection") { } } 如果我使用带有Entity Framework的视图来搭建一个新的控制器,并在对话框中创建一个“ New data context ...”,我将为我生成一个: using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Web; namespace WebApplication1.Models { public class AllTheOtherStuffDbContext : DbContext { // You can add custom code to this …


8
转换为值类型'Int32'失败,因为实例化值为null
我有以下代码。我收到错误消息: “强制转换为值类型'Int32',因为实例化值为null。结果类型的通用参数或查询必须使用可为空的类型。” 当CreditHistory表没有记录时。 var creditsSum = (from u in context.User join ch in context.CreditHistory on u.ID equals ch.UserID where u.ID == userID select ch.Amount).Sum(); 如何修改查询以接受空值?

19
由于一个或多个外键属性不可为空,因此无法更改该关系
在实体上获取GetById()并将子实体的集合设置为来自MVC视图的新列表时,出现此错误。 操作失败:由于一个或多个外键属性不可为空,因此无法更改该关系。对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新的关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。 我不太明白这一行: 由于一个或多个外键属性不可为空,因此无法更改该关系。 为什么要更改2个实体之间的关系?在整个应用程序的整个生命周期中,它应保持不变。 发生异常的代码是简单地将集合中的已修改子类分配给现有父类。希望这将满足删除子类,添加新类和修改的要求。我本以为实体框架可以解决这个问题。 代码行可以简化为: var thisParent = _repo.GetById(1); thisParent.ChildItems = modifiedParent.ChildItems(); _repo.Save();


6
从DbValidationException获取确切的错误类型
我遇到的情况是,我在EF 4.1的DatabaseInitializer()中初始化我的模型,并得到此烦人的错误,"Validation failed for one or more entities. See 'EntityValidationErrors' property for more details."所以,我转到EntityValidationErrors,有一个字段{System.Data.Entity.Validation.DbEntityValidationResult}完全无法提供有关它无法初始化的字段的信息。有没有办法获取有关此错误的更多信息? 要清除问题: 我知道如何解决字符串长度问题。我要问的是如何获取破坏模型的确切字段名称。

12
实体框架4 / POCO-从哪里开始?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使它成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 我已经编程了一段时间,并且以前使用过LINQ-To-SQL和LINQ-To-Entities(尽管使用实体时,它已经处于Entity / Table 1-1关系上-即与L2SQL并没有太大区别) 我已经做了大量关于控制反转,工作单元,POCO和存储库模式的阅读,并且希望在我的新应用程序中使用这种方法。 我在苦苦挣扎的地方是找到一个清晰,简洁的EF4入门指南,该指南不假定您掌握EF1。 我需要回答的具体问题是: 代码优先/模型优先?关于EF4的优点/缺点(即,如果我先编写代码,以后再更改代码并需要重新生成数据库模型,会发生什么情况?数据是否得到保存,转换或删除?) 假设我要代码优先(我想看看EF4如何将其转换为数据库模式),我实际上是如何开始的?我经常看到带有实体图的文章指出“这是我的实体模型,现在我要...”-不幸的是,我不清楚他们是否在设计器中创建了模型,并将其保存到生成代码,然后停止任何进一步的自动代码生成-或-他们已经进行了编码(POCO)?类以及以某种方式将其导入deisgner视图中? 我想我真正需要的是了解“魔术”的来源以及如果我不只是直接从数据库生成EF模型,如何自己添加“魔术”。 我知道这个问题有点含糊,但我不知道我不知道的-因此,感谢您的任何输入/更正/澄清。 不用说,我不希望任何人坐在这里教我EF-我只是想要一些不错的教程/论坛/博客/等。对于完整的实体新手

6
如何在源集合为空时强制LINQ Sum()返回0
基本上,当我执行以下查询时,如果没有匹配线索,则以下查询将引发异常。在那种情况下,我希望总和等于0,而不是抛出异常。在查询本身中是否有可能-我的意思是要存储查询并进行检查query.Any()? double earnings = db.Leads.Where(l => l.Date.Day == date.Day && l.Date.Month == date.Month && l.Date.Year == date.Year && l.Property.Type == ProtectedPropertyType.Password && l.Property.PropertyId == PropertyId).Sum(l => l.Amount);

4
.ToList()、. AsEnumerable()和AsQueryable()有什么区别?
我知道第一个实现IQueryable和第二个实现的LINQ to Entities和LINQ to Objects的一些区别,IEnumerable并且我的问题范围在EF 5之内。 我的问题是这三种方法的技术区别是什么?我看到它们在许多情况下都可以工作。我也看到像使用它们的组合.ToList().AsQueryable()。 这些方法到底是什么意思? 是否有任何性能问题或某种原因导致使用一个而不是另一个? 例如,为什么要用一个.ToList().AsQueryable()代替.AsQueryable()?

9
“带有语句主体的lambda表达式无法转换为表达式树”
在使用EntityFrameworkA lambda expression with a statement body cannot be converted to an expression tree时,尝试编译以下代码时出现错误“ ”: Obj[] myArray = objects.Select(o => { var someLocalVar = o.someVar; return new Obj() { Var1 = someLocalVar, Var2 = o.var2 }; }).ToArray(); 我不知道该错误意味着什么,最不知道如何解决。有什么帮助吗?


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.