草庐IT

efs-mount-point

全部标签

c# - 开箱即用地更新 EF 中的子集合真的不可能吗(又名非 hacky 方式)?

假设您的实体中有这些类。publicclassParent{publicintParentID{get;set;}publicvirtualICollectionChildren{get;set;}}publicclassChild{publicintChildID{get;set;}publicintParentID{get;set;}publicvirtualParentParent{get;set;}}并且您有一个用户界面来更新Parent及其Children,这意味着如果用户添加新的Child那么您必须插入,如果用户编辑了一个现有的Child那么你需要更新,如果用户删除了一个C

c# - Linq to Entities EF4

我有一个包含name、desc和users(属于该组)集合的Groups域模型我正在尝试获取特定用户所属的所有组。这是我的LinQ声明:varresults=frompinAuthorizationService.UnitOfWork.Groups.FindAll()where(p.Users!=null&&p.Users.Select(u=>u.Id).Contains(CurrentUser.Id))selectp.Name;当我尝试执行查询时出现以下错误Cannotcompareelementsoftype'System.Collections.Generic.ICollecti

c# - EF4 在不先获取实体的情况下更新实体

如何更新一个实体而不必调用它来选择它。如果我为实体提供key,它是否应该不知道在对ObjectContext调用SaveChanges()后进行更新。我目前这样做:varuser=context.Users.Single(u=>u.Id==2);user.Username="user.name";user.Name="ABC123";context.SaveChanges();这行得通,但会强制选择。因为我知道Id,为什么我不能做这样的事情:varuser=newUser();user.Id=2;user.Username="user.name";user.Name="ABC123";

c# - 如何使用 EF6 更新多对多表

我有两个类:publicpartialclassObjectiveDetail{publicObjectiveDetail(){this.SubTopics=newList();}publicintObjectiveDetailId{get;set;}publicintNumber{get;set;}publicstringText{get;set;}publicvirtualICollectionSubTopics{get;set;}}publicpartialclassSubTopic{publicintSubTopicId{get;set;}publicstringName{ge

c# - 序列在 EF CF 迁移中包含多个元素错误

我创建了一些模型,添加了迁移,然后执行了更新数据库操作,但在我最后一次更新数据库操作时,我收到了错误消息:Sequencecontainsmorethanoneelement您可以在下面找到我的迁移配置:context.Categories.AddOrUpdate(p=>p.CategoryName,newCategory{CategoryName="Sport"},newCategory{CategoryName="Music"});context.Subcategories.AddOrUpdate(p=>p.SubcategoryName,newSubcategory{Subcat

c# - EF4 将 varbinary(max) 映射到二进制 - 代码优先错误

我有一个名为Attachment的POCO类,它映射到SqlServer中的一个表,其中有一个VarBinary(max)字段。该字段包含文件。POCO类看起来像这样publicclassAttachment{publicstringAttachmentId{get;set;}publicstringAttachmentTypeId{get;set;}publicstringTitle{get;set;}publicstringText{get;set;}publicBinaryData{get;set;}}映射看起来像这样modelBuilder.Entity().Property(

c# - 如何使用 EF6 获取 Controller 中任何属性的 [Display(Name ="")] 属性中的值

我正在开发MVC5应用程序。我想在我的Controller方法中为任何类的任何属性获取[Display(Name="")]属性中的值。我的模型如下:publicpartialclassABC{[Required][Display(Name="TransactionNo")]publicstringS1{get;set;}}我看过answertothisquestion,但这是一个有点冗长的过程。我正在寻找现成的和内置的东西。所以,我试过这个:MemberInfoproperty=typeof(ABC).GetProperty(s);//sisastringtypewhichhasthe

c# - 在 EF Core 2.0 中动态访问表

我正在使用System.Linq.Dynamic.Core将lambda表达式动态添加到EF中的查询。我还希望能够按名称选择表格。我找到了这个答案:https://stackoverflow.com/a/28101268/657477但它在asp.netcore2.0中不起作用。我不能使用DbSet我必须使用DbSet它在错误消息中说。我希望能够做到db.GetTable("Namespace.MyTable").Where(...)我该怎么做? 最佳答案 首先你需要从名称中获取实体的类型(如果你有类型,直接使用它)。您可以为此使用

c# - EF 6 参数嗅探

我有一个动态查询,它太大而无法放在这里。可以肯定地说,在当前形式中,它利用CLR过程根据传递的搜索参数的数量动态构建连接,然后获取该结果并将其连接到更详细的表,以带回对最终用户重要的属性。我已将整个查询转换为LINQtoEntities,我发现它生成的SQL足够高效来完成这项工作,但是通过EF6运行时,查询超时。获取生成的SQL并在SSMS中运行它只需3秒或更短的时间。我只能想象我的问题是参数嗅探。我已经尝试更新数据库中每个表的统计信息,但这并没有解决问题。我的问题是:我能否以某种方式通过EF嵌入诸如“OPTIONRECOMPILE”之类的选项? 最佳答案

c# - EF 和自动映射器。更新嵌套集合

我正在尝试更新国家/地区实体的嵌套集合(城市)。只是简单的实体和dto://EFModelspublicclassCountry{publicintId{get;set;}publicstringName{get;set;}publicvirtualICollectionCities{get;set;}}publicclassCity{publicintId{get;set;}publicstringName{get;set;}publicintCountryId{get;set;}publicint?Population{get;set;}publicvirtualCountryCo