Tag: entity framework

如何使用linq连接3个表

我试图在Linq的查询中加入3个表来从所有3个表中获取数据。 下面是表格方案的图片: 查询应选择:SewagePlantName,CompanyName和Duty 此外,我需要将SewagePlantId限制为一个ID列表,给出如下: var sewagePlantIds = UnitOfWork.GetAll() .Where(group => group.Id == webAppPrincipal.GroupId) .SelectMany(group => group.SewagePlantId).Select(sewageplant => sewageplant.Id).ToList(); 我在加入3个表格的顺序以及在何处/如何将SewagePlantId限制在给定列表时遇到了困难。 请帮忙。 谢谢你,Manu

无法将匿名列表转换为LINQ中的已知列表

我有一个LINQ查询,它返回一个表的结果。 我需要将其转换为该表模型的List。 groupManager的匿名类型是List a> where a是{Group g5} var groups = new List(); var groupManager = (from a in db.AUsers join b in db.BUsers on a.Id equals b.UserID into group1 from g1 in group1.DefaultIfEmpty() join c in db.UserRoles on g1.ID equals c.UserID into group2 from g2 in group2.DefaultIfEmpty() join d in db.Roles on g2.RoleID equals d.ID […]

Entity Framework 6.1.0 – 使用Command Interceptor时出错

在我的应用程序中,我执行以下操作 从数据库中读取:我从数据库中获取项目(并行,每个任务的上下文)。 写入数据库:我创建一个新的上下文,并为每个获取的项目,我将它附加到新的 上下文 我定义了一个拦截器,因为我不希望EF会保存更改(我需要自己做,后来因为性能) 问题 – 在我调用SaveChanges()方法之后,调用Interceptor并且我有SQL语句并且没关系。 但是,在拦截器端执行代码之后,Context.SaveChanges()方法有一个例外。 这样说: “存储更新,插入或删除语句影响了意外的行数(0)。实体可能已被修改或删除,因为实体已加载。刷新ObjectStateManager条目。” 有人可以帮我解决这个问题吗? 谢谢。 Hagai

entity framework首先使用代码进行条件映射?

我有一个实体,我只需要返回给定字段值大于零的记录。 我在edmx中看到了条件映射的例子,这看起来像我需要的东西。 但是,我的项目首先是EF 4.1代码。 使用代码优先方法有没有办法做到这一点?

entity framework关系

我有这三个实体: public class Dog { public int DogId { get; set; } public string Name { get; set; } public int Age { get; set; } public bool Checked { get; set; } public string DogImage { get; set; } public virtual ICollection Results { get; set; } } public class Event { public int […]

entity framework6 + C#传递一个combobox.SelectedValue作为context.CreateQuery的参数,我想念的东西很简单?

ObjectContext context = ((IObjectContextAdapter)db).ObjectContext; string queryString = @”SELECT VALUE c FROM Product AS c WHERE c.ProductType = ” + comboBox1.SelectedValue; ObjectQuery productQuery = context.CreateQuery( queryString, comboBox1.SelectedValue ); //我无法将combobox.selectedvalue作为参数传递 –

如何更新关系数据库TABELS?

我正在使用Entity Framework 4.0。 我在更新数据库中的数据时遇到问题。 我得到这个例外: ObjectStateManager中已存在具有相同键的对象。 ObjectStateManager无法使用相同的键跟踪多个对象。 我正在研究关系数据库。 以下是3个实体和那里的关系: 1 to * 1 to * Ceremony ———–> Menu ————> CourseOption 如果我更新已包含Menus和CourseOptions的仪式,一切正常。 当我们在更新时在仪式中插入新Menu和CourseOption条目时出现问题。 比我上面提到的例外。 C#代码更新现有仪式 public HttpResponseMessage PutCeremony(int id, Ceremony ceremony) { if (ModelState.IsValid && id == ceremony.Id) { db.Entry(ceremony).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return Request.CreateResponse(HttpStatusCode.NotFound); } return Request.CreateResponse(HttpStatusCode.OK, ceremony); } […]

实体包装 – 自定义

我想找到一种解决方法来完成一个简单的解决方案,以便通过EF自动化某些操作。 我需要它在保存和检索过程中修改查询结果时的接管,但是这个类将能够使其适用于任何类型的实体。 示例:我有一个MyTestDb。 所以在我的C#项目中,我创建了一个新的实体模型(MyTEstDbModel.edmx),并生成了相对的POCO类。 好吧,一个兴趣点可能是实现一个新的自定义类,如下所示: class Example { private ObjectContext _context; private Example(ObjectContext obj) { _context = obj; } public void Store(ObjectSet os) { // problem here: I dont’t know the type contained in ObjectSet // but if I Knew its type, I could make a work like this: // -> foreach every instance in […]

ASP.Net EF标识列问题,单个操作上的重复条目

在APS.NETentity framework中,我将state_id指定为Identity列,并且我在MySql Table中将其设置为Auto-Incremented字段。 但是当我执行插入操作时,它会为具有不同id的相同数据再创建一个重复条目。 这是我的代码。 我在状态id上使用[DatabaseGenerated(DatabaseGenerationOption.Computed)]属性来使其成为标识。 嘿家伙我刚刚用断点检查它,我发现了一些非常有趣的东西,当我第一次运行这个代码时,调用了两次add()方法,但是当我再次刷新页面时,它只调用了一次。 请指导我可能会遇到什么问题? 型号: public class state_model { [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Key] public int state_id { get; set;} public string state_name { get; set; } } 控制器动作: public ActionResult add() { DataLayer dal = new DataLayer(); state_model st = new state_model(); st.state_name = “Bihar”; dal.states.Add(st); dal.SaveChanges(); return View(“View”); } Db上下文: public class […]

EF5一对一无导航

我正在尝试一对一的关系,导航属性就在一边(MVC4,EF5,代码优先)。 public class User { public int UserId { get; set; } //PK public int RankId { get; set; } //FK public virtual Rank { get; set; } //Navigation } public class Rank { public int RankId { get; set; } } 组态: public class RankConfiguration : EntityTypeConfiguration { public RankConfiguration() { HasKey(e => e.RankId); […]