草庐IT

entity_store

全部标签

c# - 在 Entity Framework 支持的 Web API 2 POST 调用中返回一个对象以及 409 冲突错误?

我有一个C#EntityFrameworkWebAPI2Controller。当前,当尝试通过POST方法为主文本字段创建具有相同文本的对象时,我返回409冲突错误作为StatusCode结果表明添加被认为是重复的。我想做的是返回触发重复错误的服务器端对象。所以我需要一些类似于Ok()方法的变体,但是返回409Conflict错误作为HTTP状态代码而不是HTTPOK状态代码。有这样的事吗?我怎样才能做到这一点?如果我能做到这一点,客户端就不必在收到409冲突错误后对服务器执行后续Get调用以获取现有对象。这是当前的POST方法:publicIHttpActionResultPostC

c# - 'System.Data.Entity.Internal.AppConfig' 的类型初始值设定项在子网站上抛出异常

我有2个网站,一个是另一个的子目录,但它是一个应用程序例如:/root&/root/Services他们都使用EntityFramework6.x但子网站正在抛出ThetypeinitializerforSystem.Data.Entity.Internal.AppConfig'throwanexception因为它似乎看到了许多条目由于嵌套的web.config而用于相同的EF数据库提供程序有没有办法清除提供程序集合,这样我就不会收到此错误?我试过没有效果。如果我注释掉providers部分就可以了但我不想这样做,因为并非每个环境都会有嵌套网站。并且NuGet倾向于将其放回原处。我可

c# - Entity Framework 预加载不返回数据,延迟加载会

我首先使用代码EF5并且我有一个对象,该对象的集合定义为virtual(延迟加载)。这会在调用时返回数据。但是我希望它是急切加载的。我已经从属性签名中删除了virtual,但现在它总是返回null数据。EF甚至不运行查询,有人可以帮忙吗?编辑:我知道.include()我只是更喜欢使用非虚拟属性方法来完成它。对象User([Key]Id在Resource对象上,它是person类的父类):namespaceEntities{[Table("Users")]publicclassUser:Person{[Required]publicICollectionRoles{get;set;}}

c# - 使 Entity Framework 缓存失效/禁用

我看到有很多关于EF缓存的问题,但我还没有找到解决问题的方法。直接的问题是如何完全禁用EntityFramework6缓存?或者,我能否以编程方式告诉EF忘记缓存,因为数据发生了一些变化?背景首先,我继承了一个应用程序,该应用程序由EF(模型优先定义实体)和普通旧SQL(操作数据)的奇怪组合组成。我所做的是重构应用程序,以便:使用EF6LINQ进行简单的查询(例如实体的GetAll())将复杂的数据操作留在SQL中,使用DbContext.Database.Connection需要时添加Spring.Web支持启用DI和事务(尚未)目前,我已经重新组织了代码,以便应用程序的主要功能(在

c# - LINQ to Entities Group By 表达式给出 'Anonymous type projection initializer should be simple name or member access expression'

我在这个表达式中遇到了上述错误:varaggregate=fromtinentities.TraceLinesjoinminentities.MethodNames.Where("it.NameLIKE@searchTerm",newObjectParameter("searchTerm",searchTerm))ont.MethodHashequalsm.MethodHashwhere(t.CallTypeId&(int)types)==t.CallTypeId&&t.UserSessionProcessId==m_SessionIdgrouptbym.Nameintodselect

c# - LINQ to Entities 无法识别方法 'Int32 Int32(System.String)' 方法,并且无法将此方法翻译成存储表达式

我正在尝试使用LinqtoEntities查询数据库上下文,但出现此错误:LINQtoEntitiesdoesnotrecognizethemethod'Int32Int32(System.String)'method,andthismethodcannotbetranslatedintoastoreexpression.`代码:publicIEnumerableGetCourseName(){varcourse=fromoinentities.UniversityCoursesselectnewCourseNames{CourseID=Convert.ToInt32(o.Course

c# - Entity Framework 过滤器 "Expression<Func<T, bool>>"

我正在尝试为EntityFramework列表创建一个过滤方法并更好地理解Expression我有一个这样的测试函数。publicIQueryableFilter(IEnumerablesrc,Expression>pred){returnsrc.AsQueryable().Where(pred);}如果我这样做:context.Table.Filter(e=>e.ID或者这个:context.Table.Filter(e=>e.SubTable.Where(et=>et.ID0&&e.ID一切正常。但是如果我这样做:context.Table.Filter(e=>e.SubTable

c# - 无法将类型 'System.Data.EntityState' 隐式转换为 'System.Data.Entity.EntityState' 。存在显式转换(您是否缺少转换?)

我在使用EntityFramework时在asp.net中遇到此错误:“无法将类型System.Data.EntityState隐式转换为System.Data.Entity.EntityState。存在显式转换(是否缺少强制转换?)”这是片段:foreach(OrderLinelineinorder.OrderLines){context.Entry(line.Product).State=System.Data.EntityState.Modified;}请建议我应该如何解决错误。 最佳答案 当您使用EF6或从EF5迁移到EF6

c# - Entity Framework 代码首先更新数据库在 CREATE DATABASE 上失败

ThisposthasbeennotedSohasthisone在我的开发机器上,我正在尝试使用包管理器控制台中的更新数据库重新创建我的数据库。我相信我已按照上述帖子中的说明进行操作。我收到此错误消息:Afileactivationerroroccurred.Thephysicalfilename'\WRDatabase.mdf'maybeincorrect.Diagnoseandcorrectadditionalerrors,andretrytheoperation.CREATEDATABASEfailed.Somefilenameslistedcouldnotbecreated.C

c# - 属性 'name'是对象关键信息的一部分,不能修改。 Entity Framework

我正在尝试更新记录,但在context.SaveChanges();之后收到此错误消息Theproperty'name'ispartoftheobject'skeyinformationandcannotbemodified.这是更新函数的代码:if(context.EAT_SourceNames.Any(e=>e.name==newSourceName)){MessageBox.Show("NamealreadyexistsintheDatabase");}else{varnameToUpdate=context.EAT_SourceNames.SingleOrDefault(e=>