草庐IT

Multilingual_entity

全部标签

c# - 如何强制 Entity Framework 始终从数据库中获取更新的数据?

我正在使用EntityFramework.Extended库来执行批量更新。唯一的问题是EF不跟踪库执行的批量更新。因此,当我再次查询DbContext时,它不会返回更新后的实体。我发现在查询时使用AsNoTracking()方法会禁用跟踪并从数据库中获取新数据。但是,由于EF不跟踪使用AsNoTracking()查询的实体,因此我无法对查询的数据执行任何更新。有没有办法强制EF在跟踪变化的同时获取最新的数据? 最佳答案 请尝试刷新单个实体:Context.Entry(entity).Reload()编辑:要为实体集合获取新数据,值

c# - 如何使用 Linq to Entity 获取最大 ID?

我有一个User表,它有一个标识列UserID,现在正确的LinqtoEntity代码行会返回最大UserID是什么?我试过:using(MyDBEntitiesdb=newMyDBEntities()){varUser=db.Users.Last();//orvarUser=db.Users.Max();returnuser.UserID;}但是Last和Max似乎不被支持。有什么想法吗? 最佳答案 像这样做db.Users.OrderByDescending(u=>u.UserId).FirstOrDefault();

c# - 如何使用 Entity Framework 获取列的最大值?

要获取包含整数的列的最大值,我可以使用以下T-SQL命令SELECTMAX(expression)FROMtablesWHEREpredicates;是否有可能通过EntityFramework获得相同的结果。假设我有以下模型publicclassPerson{publicintPersonID{get;set;}publicintName{get;set;}publicintAge{get;set;}}如何获取最年长者的年龄?intmaxAge=context.Persons.? 最佳答案 试试这个intmaxAge=contex

c# - 如何阻止 Entity Framework 尝试保存/插入子对象?

当我用EntityFramework保存一个实体时,我很自然地假设它只会尝试保存指定的实体。但是,它也在尝试保存该实体的子实体。这导致了各种完整性问题。我如何强制EF仅保存我想要保存的实体并因此忽略所有子对象?如果我手动将属性设置为空,我会收到错误消息“操作失败:无法更改关系,因为一个或多个外键属性不可为空。”这会适得其反,因为我专门将子对象设置为null,因此EF不会理会它。为什么我不想保存/插入子对象?由于这个问题在评论中来回讨论,我将给出一些理由来说明为什么我希望我的子对象不受干扰。在我正在构建的应用程序中,EF对象模型不是从数据库中加载的,而是用作我在解析平面文件时填充的数据对

c# - Entity Framework - 代码优先 - 无法存储列表 <String>

我写了这样的类:classTest{[Key][DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]publicintId{get;set;}[Required]publicListStrings{get;set;}publicTest(){Strings=newList{"test","test2","test3","test4"};}}和internalclassDataContext:DbContext{publicDbSetTests{get;set;}}运行代码后:vardb=newDataContext(

c# - 如何使用 Entity Framework Code First Fluent API 指定表名

我有一个实体,我要配置EntityFramework以将其映射到具有不同名称的数据库表。我可以使用CodeFirstDataAnnotations轻松做到这一点(DataAnnotations.Schema.TableAttribute)。但由于限制现在我必须使用CodeFirstFluentAPI(我的域对象将由外部客户端使用,因此它们不应该是特定于技术的——例如对DataAnnotations有任何引用)我在MSDN上搜索过,但一无所获。那么这可能吗?如何实现?谢谢。 最佳答案 您还可以使用表格注释:[Table("Intern

c# - LINQ to Entities 中的批量删除

有什么方法可以批量删除与LINQ或LINQ-to-Entities中的给定查询匹配的一堆对象?我能找到的唯一引用资料已经过时,遍历并手动删除我希望删除的所有对象似乎很愚蠢。 最佳答案 不久前,我写了一个由4部分组成的博客系列(第1、2、3和4部分)涵盖了在EntityFramework中进行批量更新(使用一个命令)。虽然该系列的重点是更新,但您完全可以使用所涉及的原理来进行删除。所以你应该可以这样写:varquery=fromcinctx.Customerswherec.SalesPerson.Email=="..."selectc

c# - Entity Framework 可查询异步

我正在使用EntityFramework6处理一些WebAPI内容,我的Controller方法之一是“获取全部”,它希望从我的数据库中接收表的内容作为IQueryable.在我的存储库中,我想知道是否有任何有利的理由以异步方式执行此操作,因为我不熟悉将EF与异步一起使用。基本上可以归结为publicasyncTask>GetAllUrlsAsync(){varurls=awaitcontext.Urls.ToListAsync();returnurls.AsQueryable();}对比publicIQueryableGetAllUrls(){returncontext.Urls.A

c# - 使用 Entity Framework 模型插入数据

我正在尝试使用EntityFramework模型在我的数据库中插入一些数据,但由于某些我不知道的原因,它什么也没做。我是不是漏掉了什么?using(varcontext=newDatabaseEntities()){vart=newtest{ID=Guid.NewGuid(),name="blah",};context.AddTotest(t);context.SaveChanges();} 最佳答案 应该是:context.TableName.AddObject(TableEntityInstance);地点:TableName:

c# - Entity Framework 刷新上下文?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭1年前。Improvethisquestion如何刷新我的上下文?我有基于我的数据库View的实体,当我对一个具有View导航属性的表实体进行更新时,该实体已更新但View不刷新符合新更新...只是想再次从Db数据。谢谢!