当我使用Entity Framework 4.0 RC时遇到了一个exception。 我的entity framework模型封装在一个名为Procurement.EFDataProvider的私人程序集中,而我的POCO类在另一个程序集Procurement中。Core(业务逻辑)和EFDataProvider(数据访问)之间的关系是一个名为DataProvider 所以当我尝试创build一个对象集 objectSet = ObjectContext.CreateObjectSet<TEntity>(); 我收到一个错误: 无法findEntityType“Procurement.Core.Entities.OrganizationChart”的映射和元数据信息。
目前我正在将我的应用程序部署到一个共享的宿主环境,并且代码优先,迁移一直很好,除了一个小小的打嗝。 每次我想要推动网站,我必须使用“更新数据库-script”选项,因为我必须预先为每个表名添加[dbo]因为默认情况下,共享主机将创build一个默认模式名称,该名称与数据库用户名 如果我login到我的共享主机并创build数据库,则必须创build一个用户。 如果我命名该用户pipe理员,那么在以admin身份login时,代码首先创build的表格类似于“[admin]。[BlogPosts]”。 当应用程序运行时,所有的表都被创build,但是我得到一个EFexception,因为它表示“[dbo]。[BlogPosts]”是无效的。 如果我将表的模式名称重命名为“[dbo]”,而不是“[admin]”,修复它。 为了解决这个问题,我必须生成一个手动执行的迁移脚本,并在所有表名之前添加“[dbo]”,因为脚本只是通过名称来引用表,而不是通过它们的模式和名称引用表。 有一个简单的方法来解决这个问题吗? 如果我所要做的只是发布应用程序并且一切正常,那将是如此的美好。 如果不是模式名称的差异,它将是一个一个点击的部署,一切都将是光荣的。
好的,所以我对EF和LINQ都很陌生。 我已经想出了如何插入和删除,但由于某种原因更新似乎逃脱我的把握。 这是我的代码示例: EntityDB dataBase = new EntityDB(); Customer c = new Customer { Name = "Test", Gender = "Male }; dataBase.Customers.AddObject(c); dataBase.SaveChanges(); 上面创build并添加一个logging就好了。 Customer c = (from x in dataBase.Customers where x.Name == "Test" selext x).First(); dataBase.Customers.DeleteObject(c); dataBase.SaveChanges(); 以上有效删除指定的logging。 现在我该如何更新? 我似乎无法find实体集合上的“ UpdateObject() ”方法。
EF4默认启用延迟加载。 至less,在我的项目中,我可以看到价值 dataContext.ContextOptions.LazyLoadingEnabled 默认为true。 我不想懒加载,我不想写: dataContext.ContextOptions.LazyLoadingEnabled = false; 每次我得到一个新的上下文。 那么有没有办法在整个项目中默认closures它?
有没有办法find在entity framework中是否存在未保存的更改?
我需要向第三方插件公开一个entity framework数据上下文。 目的是允许这些插件仅提取数据,而不是让他们发出插入,更新或删除或任何其他数据库修改命令。 因此,我怎样才能使数据上下文或实体只读。
我从我的数据库中生成一个entity framework模型(4.0)。 我没有devise数据库,也没有对模式进行任何控制,但有几个表没有定义外键约束,但却有一个隐式的关系定义。 例如: 我有一个名为People的表,它具有以下列:GenderID RaceID “性别”和“种族”都有表格,但“人物”表格中没有外键。 当我导入模型时,它没有为这些关系添加导航属性。 我试图手动添加它,但从angular色和angular色被禁用。 我不知道如何自己添加关系。 我该怎么做呢?
基本上我有一个在我的EF数据库中有以下属性的表: public int Id { get; set; } public string Title { get; set; } public string Description { get; set; } public string Image { get; set; } public string WatchUrl { get; set; } public int Year { get; set; } public string Source { get; set; } public int Duration { get; […]
我想知道什么是使用entity framework和LINQ创builddynamic查询的最佳方式。 我想创build一个服务,有许多参数sorting和过滤(超过50)。 我将从gui中获取对象,这些对象将被填充…并且将从单个服务方法执行查询。 我环顾四周我看到,我可以dynamic地创build一个string,可以在我的方法结束时执行。 我不太喜欢这种方式。 有没有更好的方法来做到这一点? 最好用编译检查键入安全吗?
我正在尝试LINQ到实体。 我遇到以下问题:我想要这样做: SELECT T_Benutzer.BE_User ,T_Benutzer_Benutzergruppen.BEBG_BE FROM T_Benutzer LEFT JOIN T_Benutzer_Benutzergruppen ON T_Benutzer_Benutzergruppen.BEBG_BE = T_Benutzer.BE_ID 我最接近的是这样的: var lol = ( from u in Repo.T_Benutzer //where u.BE_ID == 1 from o in Repo.T_Benutzer_Benutzergruppen.DefaultIfEmpty() // on u.BE_ID equals o.BEBG_BE where (u.BE_ID == o.BEBG_BE || o.BEBG_BE == null) //join bg in Repo.T_Benutzergruppen.DefaultIfEmpty() // on o.BEBG_BG equals bg.ID //where bg.ID […]