Questions tagged «entity-framework»

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

4
首先使用EF代码映射复合键
SQL Server表: SomeId PK varchar(50) not null OtherId PK int not null 我应该如何首先在EF 6代码中映射它? public class MyTable { [Key] public string SomeId { get; set; } [Key] public int OtherId { get; set; } } 我看过一些示例,您必须为每个列设置顺序,这是必需的吗? 在某处有官方文件吗?

2
实体框架-手动添加导航属性
我从数据库中生成了一个实体框架模型(4.0)。我没有设计数据库,也没有对架构的任何控制,但是有一些表没有定义外键约束,但是定义了隐式关系。 例如: 我有一个名为People的表,该表具有以下列:GenderID RaceID 有“性别”和“种族”表,但“人”表中没有外键。 当我导入模型时,它没有为这些关系添加导航属性。我尝试手动添加它,但是“从角色”和“到角色”被禁用。我不确定如何自己添加关系。我该怎么做呢?

25
数据库中已经有一个命名的对象
从程序包管理器控制台更新数据库失败。我使用了Entity Framework 6.x和代码优先方法。错误是 “数据库中已经有一个名为“ AboutUs”的对象。” 我怎么解决这个问题? internal sealed class Configuration : DbMigrationsConfiguration<Jahan.Blog.Web.Mvc.Models.JahanBlogDbContext> { public Configuration() { AutomaticMigrationsEnabled = true; AutomaticMigrationDataLossAllowed = false; } protected override void Seed(Jahan.Blog.Web.Mvc.Models.JahanBlogDbContext context) { } } 我的DbContext是: public class JahanBlogDbContext : IdentityDbContext<User, Role, int, UserLogin, UserRole, UserClaim> { public JahanBlogDbContext() : base("name=JahanBlogDbConnectionString") { Database.SetInitializer(new DropCreateDatabaseIfModelChanges<JahanBlogDbContext>()); …

10
实体框架4与NHibernate [关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 改善这个问题 在网络上(以及在stackoverflow上)已经谈论了很多关于Entity Framework第一版的问题,很明显,当我们已经有了更好的替代方案(如NHibernate)时,这不是一个好选择。但是我找不到Entity Framework 4和NHibernate的很好比较。可以说,今天NHibernate是所有.NET ORM的领导者,但是我们可以期望Entity Framework 4取代NHibernate。我认为,如果Microsoft确实在EF4中注入了非常好的功能,则它可以与NHibernate竞争,因为它具有Visual Studio集成,易于使用并且在大多数商店中总是优先考虑MS产品。




5
Entity Framework Code First是否支持存储过程?
我已经看过EF Code First的一些演示,还没有看到EFCF如何与存储过程一起工作。 如何声明将使用某些sp的方法?是否可以将实体传递给调用sp的方法,而无需手动将实体属性映射到sp参数? 另外,如果我更改模型会怎样?从模型重新创建表格时,它会掉落我的sp吗?那触发器呢? 如果不支持这些功能,将来是否有计划支持它们?


26
无法将术语“ Update-Database”识别为cmdlet的名称
我正在使用EF5 beta1,并且之前可以运行“ Update-Database”。现在,我关闭了Visual Studio,现在无法运行它了。我收到以下错误: 术语“ Update-Database”不能识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者是否包含路径,请验证路径是否正确,然后重试。在第1行:16个字符:+ Update-Database <<<< -verbose + CategoryInfo:ObjectNotFound:(Update-Database:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException 我尝试重新安装EF5b1,并且成功安装(已安装)后,“ Update-Database”仍然无法正常工作。 谁能帮忙???

4
ASP.NET MVC:是否为每个请求都创建了Controller?
非常简单的问题:是在ASP.NET中为每个HTTP请求创建控制器,还是在应用程序启动时创建并在整个请求中重用这些控制器? 是否仅针对特定的HTTP请求创建控制器? 如果我以前的假设是正确的,我可以依靠它吗?我想创建仅对一个请求有效的数据库上下文(实体框架)。如果我将其创建为在控制器的构造函数中初始化的属性,是否是否将为每个请求创建新的上下文实例?

14
如何在实体框架中查询空值?
我想执行这样的查询 var result = from entry in table where entry.something == null select entry; 并IS NULL生成一个。 编辑:在前两个答案之后,我觉得有必要澄清一下我使用的是Entity Framework,而不是Linq to SQL。object.Equals()方法似乎在EF中不起作用。 编辑2号:上述查询按预期方式工作。它会正确生成IS NULL。我的生产代码是 value = null; var result = from entry in table where entry.something == value select entry; 并且生成的SQL是something = @p; @p = NULL。似乎EF可以正确转换常量表达式,但是如果涉及到变量,它将像对待普通比较一样对待它。实际上是有道理的。我将结束这个问题

7
如何在不加载内容的情况下在EntityFramework中计算行数?
我正在尝试确定如何使用EntityFramework 计算表上的匹配行。 问题在于每一行可能有许多兆字节的数据(在二进制字段中)。当然,SQL应该是这样的: SELECT COUNT(*) FROM [MyTable] WHERE [fkID] = '1'; 我可以加载所有行,然后找到Count: var owner = context.MyContainer.Where(t => t.ID == '1'); owner.MyTable.Load(); var count = owner.MyTable.Count(); 但这是完全无效的。有没有更简单的方法? 编辑:谢谢,所有。我已将数据库从专用附件中移出,以便可以进行性能分析;这会有所帮助,但会引起我意想不到的混乱。 而我的真实数据是深一点,我会用卡车运送托盘的案件的资料 -我不想让卡车离开除非有至少一个项目在里面。 我的尝试如下所示。我不了解的部分是CASE_2从不访问DB服务器(MSSQL)。 var truck = context.Truck.FirstOrDefault(t => (t.ID == truckID)); if (truck == null) return "Invalid Truck ID: " + truckID; var …

4
Linq到EntityFramework DateTime
Наэтотвопросестьответына 堆栈溢出нарусском:LINQ到实体无法识别方法'的System.DateTime AddDays(双人间)' 在我的应用程序中,我正在使用实体框架。 我的桌子 -Article -period -startDate 我需要匹配的记录=> DateTime.Now > startDate and (startDate + period) > DateTime.Now 我尝试了这段代码,但现在可以正常工作了 Context.Article .Where(p => p.StartDate < DateTime.Now) .Where(p => p.StartDate.AddDays(p.Period) > DateTime.Now) 当我运行代码时,发生以下异常 LINQ to Entities无法识别方法'System.DateTime AddDays(Double)',并且该方法无法转换为商店表达式。

4
实体框架代码优先的空外键
我有一个User< Country模型。用户属于一个国家,但可能不属于任何国家(空外键)。 我该如何设置?当我尝试插入一个国家/地区为空的用户时,它告诉我不能为空。 该模型如下: public class User{ public int CountryId { get; set; } public Country Country { get; set; } } public class Country{ public List<User> Users {get; set;} public int CountryId {get; set;} } 错误: A foreign key value cannot be inserted because a corresponding primary key value …

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.