Questions tagged «entity-framework»

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



4
如何在Entity Framework 5中包含子对象的子对象
我正在使用Entity Framework 5 code first和ASP.NET MVC 3。 我在努力填充子对象的子对象。以下是我的课程。 应用类别 public class Application { // Partial list of properties public virtual ICollection<Child> Children { get; set; } } 子班: public class Child { // Partial list of properties public int ChildRelationshipTypeId { get; set; } public virtual ChildRelationshipType ChildRelationshipType { get; …


14
如何使用DbContext和SetInitializer解决datetime2超出范围的转换错误?
我正在使用Entity Framework 4.1引入的DbContext和Code First API。 该数据模型使用的基本数据类型,如string和DateTime。在某些情况下[Required],我使用的唯一数据注释是,但这不在任何DateTime属性上。例: public virtual DateTime Start { get; set; } 该的DbContext子类也很简单,看起来像: public class EventsContext : DbContext { public DbSet<Event> Events { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<Event>().ToTable("Events"); } } 在初始化设置日期在模型中有意义的值在今年或明年。 但是,当我运行初始化程序时,在以下位置出现此错误context.SaveChanges(): 从datetime2数据类型到datetime数据类型的转换导致值超出范围。该语句已终止。 我根本不明白为什么会这样,因为一切都很简单。我也不确定如何解决它,因为没有edmx文件可以编辑。 有任何想法吗?

6
如何获得在Symfony2中代表当前用户的实体?
我正在使用Symfony安全设置。一切正常,但是我不知道如何做一件重要的事情: 在树枝上,我可以通过执行以下操作来获取当前用户的信息: Welcome, {{ app.user.username }} 或类似 如何在控制器中访问相同的信息?具体来说,我想获取当前的用户实体,以便可以将其关联存储在另一个实体中(一对一映射)。 我真的很希望 $this->get('security.context')->getToken()->getUser() 但这不起作用。它给了我一类类型 Symfony\Component\Security\Core\User\User 我想要一种 Acme\AuctionBundle\Entity\User 这是我的实体...

2
实体框架联接3个表
我正在尝试加入三个表,但我不明白该方法... 我完成了加入2张桌子 var entryPoint = dbContext.tbl_EntryPoint .Join(dbContext.tbl_Entry, c => c.EID, cm => cm.EID, (c, cm) => new { UID = cm.OwnerUID, TID = cm.TID, EID = c.EID, }). Where(a => a.UID == user.UID).Take(10); 我想在TID PK中包含tbl_Title表,并获取Title字段。 非常感谢

9
实体框架和SQL Server视图
由于我没有自由谈论的几个原因,我们在Sql Server 2005数据库上定义一个视图,如下所示: CREATE VIEW [dbo].[MeterProvingStatisticsPoint] AS SELECT CAST(0 AS BIGINT) AS 'RowNumber', CAST(0 AS BIGINT) AS 'ProverTicketId', CAST(0 AS INT) AS 'ReportNumber', GETDATE() AS 'CompletedDateTime', CAST(1.1 AS float) AS 'MeterFactor', CAST(1.1 AS float) AS 'Density', CAST(1.1 AS float) AS 'FlowRate', CAST(1.1 AS float) AS 'Average', CAST(1.1 AS float) AS …

9
确定我使用的Entity Framework版本?
我相信有两个版本1和2?而版本2被称为Entity Framework 4.0? 我如何知道应用程序正在使用哪个版本? 这是在我的web.config中,这是否意味着我正在使用版本2? <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />

18
值不能为空。参数名称:来源
这可能是我浪费了很长时间解决的最大时间浪费问题。 var db = new hublisherEntities(); establishment_brands est = new establishment_brands(); est.brand_id = 1; est.establishment_id = 1; est.price = collection["price"]; est.size = collection["size"]; db.establishment_brands.Add(est); db.SaveChanges(); 这给我一个错误 值不能为空。参数名称:来源 的堆栈跟踪 [ArgumentNullException:值不能为null。参数名称:source] System.Linq.Enumerable.Any(IEnumerable 1 source, Func2谓词)+4083335 System.Data.Entity.Internal.InternalContext.WrapUpdateException(UpdateException updateException)+87 System.Data.Entity.Internal.InternalContext.SaveChanges()+ 193 System.Data.Entity.Internal.LazyInternalContext.SaveChanges()+33 System.Data.Entity.DbContext.SaveChanges()+20 ... ... 我只想向表添加一个实体。ORM是EF。

6
EF代码优先:如何从nuget软件包控制台中看到“ EntityValidationErrors”属性?
我为此感到茫然: 我已经为实体框架(4.1.3)代码优先方法定义了我的类。一切都很好(我正在创建表等),直到我开始播种为止。 现在当我做 Add-Migration "remigrate" ; Update-Database; 我在程序包控制台上收到一个错误“对一个或多个实体的验证失败。有关更多详细信息,请参见'EntityValidationErrors'属性。” 我的Seed()方法中有一个断点,但是因为当项目未运行时我正在控制台上运行此断点,所以对于如何获得详细信息一无所知(PS-我已经看到线程验证失败了一个或多个实体,同时使用实体框架将更改保存到SQL Server数据库中,该框架显示了我如何看到该属性。) 我知道我的Seed()方法有问题,因为如果我在方法调用后立即返回,错误就会消失。那么,如何设置断点,以便查看验证错误是什么?金田迷路了。还是有其他方法可以在nuget控制台中对其进行跟踪?

19
实体框架代码优先的唯一约束
题 是否可以使用流利的语法或属性在属性上定义唯一约束?如果没有,有什么解决方法? 我有一个带有主键的用户类,但是我想确保电子邮件地址也是唯一的。是否可以不直接编辑数据库而实现? 解决方案(基于马特的回答) public class MyContext : DbContext { public DbSet<User> Users { get; set; } public override int SaveChanges() { foreach (var item in ChangeTracker.Entries<IModel>()) item.Entity.Modified = DateTime.Now; return base.SaveChanges(); } public class Initializer : IDatabaseInitializer<MyContext> { public void InitializeDatabase(MyContext context) { if (context.Database.Exists() && !context.Database.CompatibleWithModel(false)) context.Database.Delete(); if …

6
它具有DefiningQuery但没有InsertFunction元素…err
这件事使我发疯,错误对我来说毫无意义: 无法更新EntitySet'TableB',因为它具有DefiningQuery并且该元素中不存在任何元素来支持当前操作。 我的桌子是这样的: 表A int idA(身份,主键) ... 表B int idA(FK表示TableA.idA) 间隔 TableB在SQL Server中没有定义的主键。实体框架已导入表和关联,并将两个字段都设置为键。但是当我尝试向表中插入时,它将输出该错误! 怎么了?? 编辑: 根据亚历克斯的建议,解决方案是这样的: 右键单击edmx文件,选择“打开方式”,XML编辑器 在edmx:StorageModels元素中找到实体 完全删除DefiningQuery 将store:Schema =“ dbo”重命名为Schema =“ dbo”(否则,代码将生成一条错误消息,指出名称无效) 删除store:Name属性 我保留了原样的键,因为我认为两列都是键的一部分是可以的。

26
程序包管理器控制台Enable-Migrations CommandNotFoundException仅在特定的VS项目中
我试图在一个新项目中运行命令“ Enable-Migrations”,但收到消息: PM> Enable-Migrations The term 'Enable-Migrations' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verif y that the path is correct and try again. At line:1 char:18 + Enable-Migrations <<<< …

7
解决“ ObjectContext实例已被处置,并且不能再用于需要连接的操作” InvalidOperationException
我试图填充一个GridView使用Entity Frameworkm的方法,但是每次遇到以下错误时: “对象'COSIS_DAL.MemberLoan'上的属性访问器'LoanProduct'引发以下异常:ObjectContext实例已被处置,不能再用于需要连接的操作。” 我的代码是: public List<MemberLoan> GetAllMembersForLoan(string keyword) { using (CosisEntities db = new CosisEntities()) { IQueryable<MemberLoan> query = db.MemberLoans.OrderByDescending(m => m.LoanDate); if (!string.IsNullOrEmpty(keyword)) { keyword = keyword.ToLower(); query = query.Where(m => m.LoanProviderCode.Contains(keyword) || m.MemNo.Contains(keyword) || (!string.IsNullOrEmpty(m.LoanProduct.LoanProductName) && m.LoanProduct.LoanProductName.ToLower().Contains(keyword)) || m.Membership.MemName.Contains(keyword) || m.GeneralMasterInformation.Description.Contains(keyword) ); } return query.ToList(); } } protected …

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.