Tag: entity framework

多个添加的实体可能具有相同的主键

这是我的3个实体模型:路线,位置和位置路线。 下面的方法失败,提交时得到exception: public static Route InsertRouteIfNotExists(Guid companyId, IListLocation> locations) { //Loop on locations and insert it without commit InsertLocations(companyId, routesOrLocations); RouteRepository routeRep = new RouteRepository(); Route route = routeRep.FindRoute(companyId, locations); if (route == null) { route = new Route() { CompanyId = companyId, IsDeleted = false }; routeRep.Insert(route); LocationInRouteRepository locInRouteRep = new LocationInRouteRepository(); for (int […]

如何在代码优先的entity framework6.2中创build索引

有没有办法使用代码优先在属性/列上创build索引,而不是使用新的IndexAttribute ?

entity framework上下文是否应该使用陈述?

entity framework上下文对象实现了“释放对象上下文使用的资源”的Dispose()方法。 它究竟做了什么? 总是把它放到一个using {}语句中是不是一件坏事? 我已经看到使用和不使用using语句。 我特别要从WCF服务方法中使用EF上下文,创build上下文,执行一些linq并返回答案。 编辑:似乎我不是唯一一个想知道这个。 另一个问题是Dispose()方法中真正发生了什么。 有人说它closures连接,有些文章说不。 这是怎么回事?

entity framework如何与recursion层次结构一起工作? 包括()似乎不能使用它

我有一个Item 。 Item有一个Category 。 Category有ID , Name , Parent和Children 。 Parent和Children也属于Category 。 当我做一个特定Item的LINQ to Entities查询时,它不会返回相关的Category ,除非我使用Include("Category")方法。 但是它并没有把它的全部范畴与它的父母和孩子带到一起。 我可以做Include("Category.Parent") ,但是这个对象就像一棵树,我有一个recursion的层次结构,我不知道它在哪里结束。 我怎样才能使EF完全加载Category ,与父母和子女,父母与父母和子女,等等? 这不是整个应用程序的事情,考虑到性能方面的考虑,只需要这个特定的实体,类别。

entity framework中的POCO是什么?

我刚开始学习POCO,但不明白它的用途和优势。 即使下面的链接的stackoverflow没有帮助我。 什么是entity framework与POCO 有人可以用一个简单的例子来解释POCO的用法吗?

不信任的entity framework表决 – 与.NET 4相关?

我正在决定一个大项目的ORM,并决定采用ADO.NETentity framework,尤其是在.NET 4中提供的新版本。在我searchEF的信息期间,我偶然发现了ADO .NET Entity Framework Vote没有信心 ,我不知道如何采取。 不信任投票是在2008年某个时候写的,目的是说服微软倾听EF v1的具体批评意见。 目前尚不清楚“不信任表决”中的声明是否仍然有效(在.NET 4中),以及是否足够认真地使用其他解决scheme。 NHibernate是一个成熟的select,但我不知道它带来了什么问题。 我通常更倾向于Ms解决scheme,主要是因为我可以指望与VS集成和开发人员的支持。 如果不信任投票中提到的问题如何影响现实世界的项目,我将不胜感激。 更重要的是,在.NET 4中,这些声明还是与EF相关吗?

值不能为空。 参数名称:来源

这可能是我花了好几个小时解决了很长时间的最大浪费。 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:值不能为空。 参数名称:source] System.Linq.Enumerable.Any(IEnumerable 1 source, Func 2谓词)+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。

检查是否有任何未决的更改要保存

有没有办法find在entity framework中是否存在未保存的更改?

首先在entity framework代码中,如何在多个列上使用KeyAttribute

我正在创build一个POCO模型,首先使用实体​​框架代码CTP5。 我正在使用装饰来制作属性映射到PK列。 但是我怎样才能在一列以上定义一个PK,具体来说,我怎样才能控制索引中列的顺序? 这是课堂教学秩序的结果吗? 谢谢!

我怎样才能让我的数据库使用entity frameworkCodeFirst种子?

数据库已成功创build(与表一样),但不会播种。 我花了好几个小时,读了大量的文章,但一直没有得到它。 有什么build议么? 在附注中,是否可以调用初始化程序,而不必在客户端中引用我的DatabaseContext? 我已经包含了所有我能想到的相关代码。 如果有其他事情会有所帮助,请让我知道。 我试过的东西: 我删除了我的连接string(因为它默认为sqlexpress,只是名称改变了) 我将DropCreateDatabaseIfModelChanges更改为DropCreateDatabaseAlways,仍然相同。 编辑:真奇怪的事情是一次,但我不知道如何或为什么它再次打破。 我假设连接string,但谁知道。 DatabaseInitializer.cs public class DatabaseInitializer : DropCreateDatabaseIfModelChanges<DatabaseContext> { protected override void Seed(DatabaseContext context) { // Seeding data here context.SaveChanges(); } } DatabaseContext.cs public class DatabaseContext : DbContext { protected override void OnModelCreating(DbModelBuilder mb) { // Random mapping code } public DbSet<Entity1> Entities1 { get; set; […]