草庐IT

c# - 如何更新在 DbContext 之外修改的实体?

如果实体在DbContext之外更改(是一个分离的实体),我在更新实体时会遇到一个小问题。如果我附加修改后的实体,它的状态不会被修改。我的代码是这样的:varspecificationToSave=GetSpecificationFromTmpStore(userSessionGuid);using(varcontext=DataContextFactory.GetDataContext()){//thisworksforupdate,ifIchangethevaluesinsidethecontextwhiledebugging//butitbreakswithnewentities

c# - Dapper 中的映射实体

我刚开始使用Dapper,我似乎没有找到像将实体映射到数据库中的表这样非常简单的事情:我有一个存储过程:CREATEPROCEDURE[dbo].GetUserById(@UserIdint)ASbeginSELECTUserId,LastName,FirstName,EmailAddressFROMusersWHEREUserID=@UserIdendgo然后是一个实体:publicclassUser{publicintId{get;set;}publicstringLastName{get;set;}publicstringFirstName{get;set;}publicstri

c# - linq to 实体,where in where 子句? (里面的地方)

我有一个表,该表具有到一个表的一对多映射,该表具有到另一个表的多对多映射。我想执行以下操作:varresults=context.main_link_table.Where(l=>l.some_table.RandomProperty=="myValue"&&l.some_table.many_to_many_table.Where(m=>m.RandomProperty=="myValue"));我怎样才能做到这一点?第一部分会起作用,但在没有“内部WHERE”的情况下尝试时,我无法访问many_to_many_table的属性,但“内部位置”显然无法编译。我基本上想实现类似以下SQ

c# - LINQ to Entities 仅支持转换实体数据模型基元类型?

我正在尝试在我的View中填充下拉菜单。任何帮助是极大的赞赏。谢谢。错误:Unabletocastthetype'System.Int32'totype'System.Object'.LINQtoEntitiesonlysupportscastingEntityDataModelprimitivetypes.Controller:ViewBag.category=(fromcinnewIntraEntities().CategoryItemsselectnewSelectListItem(){Text=c.Name,Value=""+c.ID}).ToList();查看:Categor

c# - 如何从 ChangeTracker 获取原始实体

有没有办法从ChangeTracker中获取原始实体本身(而不仅仅是原始值)?如果State是Modified,那么我想我可以这样做://GettheDbEntityEntryfromtheDbContext.ChangeTracker...//StorethecurrentvaluesvarcurrentValues=entry.CurrentValues.Clone();//Settotheoriginalvaluesentry.CurrentValues.SetValues(entry.OriginalValues.Clone());//Nowwehavetheoriginale

c# - 实体到 json 错误 - 序列化类型对象时检测到循环引用

尝试将实体对象转换为JSON字符串时出现以下错误。我将C#MVC4与代码优先数据库设计一起使用。它接缝是因为FK和表之间的关系造成了这个问题。解决方法是什么?在序列化System.Data.Entity.DynamicProxies.User类型的对象时检测到循环引用我的代码是Userma=db.user.First(x=>x.u_id==id);returnJson(ma,JsonRequestBehavior.AllowGet); 最佳答案 这是因为它正在尝试加载子对象,并且可能会创建一些永无止境的循环(a=>b,b=>c,c=

c# - 实体类型需要定义主键

我现在正在编写一个ASP.NETWebAPI,对于2个Controller,一切都运行良好。现在我尝试做与以前完全相同的事情,但这次我得到一个奇怪的错误:System.InvalidOperationException:"Theentitytype'UserItem'requiresaprimarykeytobedefined."那么,为什么UserItem需要主键而其他的不需要?这是我的UserItem类:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Threading.Tasks;n

c# - 为什么在 web api 中返回具有一对多关系的实体会导致错误?

伙计们,我与称为用户的同一个类有一对多关系,我在webapiget方法中返回一个用户实例只要我没有,它就可以正常工作UserID|Name0|A1|BFriendsTable(Thistableisusedtobuildtheonetomanyrelationship)User_ID|Friend_ID1|00|1这是我的获取方法[HttpGet]publicModels.UserAuthenticate(){try{returndb.Users.SingleOrDefault(x=>x.ID==0);}catch{returnnull;}}如果我得到并返回一个User实体,那么我会得

c# - 如何在 Entity Framework 5.0 生成的所有实体中添加 Serializable 属性

我正在使用EF5.0生成POCO实体并在单独的数据访问层中使用它我想标记所有实体[Serializable]如何修改模板添加Serializable属性? 最佳答案 如果您不想编辑模板,您也可以在单独的代码文件中执行此操作-因为partial类很方便。所以如果这里的类型是My.Namespace命名空间中的Foo、Bar和Baz,就可以创建一个单独的同一项目中的文件,其中:usingSystem;namespaceMy.Namespace{[Serializable]partialclassFoo{}[Serializable]pa

c# - Linq 实体分组依据(外部应用) "oracle 11.2.0.3.0 does not support apply"

我有下面的代码示例,它查询产品列表。varproductResults=Products.Where((p)=>refFilterSequence.Contains(p.Ref)).GroupBy(g=>g.Code,(key,g)=>g.OrderBy(whp=>whp.Ref).First()).ToList();这完全符合预期,并在使用内存集合时返回我想要的4行,但在针对Oracle数据库运行时:.GroupBy(g=>g.Code,(key,g)=>g.OrderBy(whp=>whp.Ref).First())这会引发一个错误,提示我应该使用Oracle数据库不支持的Firs