草庐IT

Entity-Framework

全部标签

c# - EF4.1 代码优先 : How to disable delete cascade for a relationship without navigation property in dependent entity

假设我有这两个非常基本的实体:publicclassParentEntity{publicintId;publicvirtualICollectionChildrens;}publicclassChildEntity{publicintId;publicintParentEntityId;//ForeignKeypublicvirtualParentEntityparent;//[NOTWANTED]}出于某些原因,我不希望ChildEntity保留对其父项的引用。我只希望它保留ParentEntityid但仅此而已。到目前为止,没问题,我只是删除了[NOTWANTED]行,一切都按预

c# - GroupBy 与 elementSelector 和 resultSelector

Enumerable.GroupBy和Queryable.GroupBy扩展有8个重载。其中两个(对于Enumerable.GroupBy)是://(a)IEnumerableGroupBy(thisIEnumerablesource,FunckeySelector,Func,TResult>resultSelector);//(b)IEnumerableGroupBy(thisIEnumerablesource,FunckeySelector,FuncelementSelector,Func,TResult>resultSelector);(对于Queryable.GroupBy相同

c# - Entity Framework : Setting a Foreign Key Property

我们有一个大致如下所示的表格:CREATETABLELockers{UserIDintNOTNULLPRIMARYKEY(foreignkey),LockerStyleIDint(foreignkey),NameplateIDint(foreignkey)}所有键都与其他表相关,但由于应用程序的分布方式,我们更容易将ID作为参数传递。所以我们想这样做:Lockerl=newLocker{UserID=userID,LockerStyleID=lockerStyleID,NameplateID=nameplateID};entities.AddLocker(l);我们可以在LINQ-to

c# - Entity Framework 代理创建

我们可以使用在上下文构造函数中停止创建代理this.Configuration.ProxyCreationEnabled=false;在EF4.1中创建代理的优点和缺点是什么? 最佳答案 两个功能需要代理:延迟加载-导航属性在第一次访问时加载动态更改跟踪-如果您修改实体中的任何属性,上下文会收到有关此更改的通知并设置实体的状态。如果不使用动态更改跟踪,上下文必须使用快照更改跟踪,这意味着在保存之前发现所有更改=探索所有属性,即使它们没有更改。这两种技术都有其他要求:延迟加载-实体中的所有导航属性都必须是虚拟的。必须启用延迟加载。动态

c# - 如何使用 Newtonsoft.Json 序列化 "Really"循环引用对象?

我在使用Newtonsoft.Json从我的ASP.NETWebAPIController正确序列化某些数据时遇到问题。这就是我认为正在发生的事情-如果我错了请纠正我。在某些情况下(特别是当数据中没有任何循环引用时)一切都像您期望的那样工作-填充对象列表被序列化并返回。如果我在模型中引入导致循环引用的数据(如下所述,甚至设置了PreserveReferencesHandling.Objects),则只有指向具有循环引用的第一个对象的列表中的元素才会序列化客户可以“使用”的一种方式。如果在将内容发送到序列化程序之前排序不同,则“导致的元素”可以是数据中的任何元素,但至少有一个将以客户端可

c# - Entity Framework 中的联盟

我有两个表:Vehicles和Workers。Vehicle(Id,Number)Workers(Id,Name,ContractorVehicleNumber)我想编写lambda查询以返回所有车辆和承包商车辆。像在sql中的东西:SELECTId,NumberFROMVehicleUNIONSELECTNULL,ContractorVehicleNumberFROMWorkers这是我做的:publicIQueryableGet(boolincludeContractorVehicles){IQueryablequery=GetQuery();if(includeContracto

c# - Entity Framework 验证

我正准备开始一个新项目,并且一直在研究EntityFramework。我的问题是验证实体的最佳策略是什么?我从事的其他项目已使用属性进行大部分验证,但显然这在EntityFramework中是不可能的。是通过处理属性setter中的部分方法来做到这一点的唯一方法吗?非常感谢所有建议。 最佳答案 我以前没有实际使用过EntityFramework,但快速搜索表明您有多种选择。1)在应用程序的另一层验证总是一个选项,我只是想我会明确地把它扔掉。2)Hook实体的OnChanged事件然后执行验证如果您有许多不同的属性可以针对每个实体进行

c# - 如何在 LINQ-to-Entities 查询中使用自定义属性?

我有一个Post类,它是一个EntityFramework模型。它包含如下属性:publicboolShowable{get{returnthis.Public&&this.PublishedDate>DateTime.now}}我可以在这样的查询中使用它:frompindb.Postswherep.Showableselectp;但是当我有一个使用它的属性时,就像这样publicIEnumerableShowablePosts{get{returnfrompindb.Postswherep.Showableselectp;}}那我做不到:frompinShowablePostswhe

c# - AspNetUsers' ID 作为单独表中的外键,一对一关系

我上下查看,尝试了所有能够将AspNetUser表的外键存储在单独的Customer表中的各种不同方法。我在ASP.NET和EntityFramework方面还是个新手,但我已经阅读了很多文章和文档。目前我有这个模型publicclassCustomer{[Display(Name="CustomerID")]publicintCustomerID{get;set;}publicstringUserId{get;set;}[ForeignKey("UserId")]publicvirtualApplicationUserApplicationUser{get;set;}}publicc

c# - 如何为 Entity Framework Code First 迁移设置隔离级别

如果您针对为SQLServer复制发布的表运行EntityFramework迁移(自动或显式),您会收到以下错误:YoucanonlyspecifytheREADPASTlockintheREADCOMMITTEDorREPEATABLEREADisolationlevels之前有过关于此的问题(here),但它们完全未能解决根本原因:EntityFramework迁移在Serializable隔离级别运行(如SQLServer探查器中清楚显示的那样)。这是结构更改事务的安全选择,但它与已发布的sqlserver表不兼容。与dbContext.SaveChanges()事务中使用的默认