Tag: 一对多

在linq-to-entities的一对多连接中只获得一条(最后一条)记录

我在linq-to-entities中有以下内容 clientprojects = (from p in this.SAPMappingEntities.SAP_Master_Projects join c in this.SAPMappingEntities.SAP_Master_ProjectPartners on c.project_no equals p.project_no where c.partner_name.Contains(clientstring) orderby p.start descending select new ClientProjects { client = c.partner_name, location = c.city +”, “+c.region, project_no = c.project_no, start_dt = p.start, end_dt = p.finish }).Take(50).ToList(); 我想更改此查询,以便每个SAP_Master_Project只获取具有最新update_dt的SAP_Master_ProjectPartners记录。 我怎样才能做到这一点? 编辑 有一个项目表,其中包含项目编号和项目详细信息,包括项目开始和结束日期。 有一个项目合作伙伴表,其中包含项目合作伙伴编号,名称,项目编号,更新日期和其他详细信息。 SAP_MASTER_PROJECT project_no 开始 完 SAP_MASTER_PROJECTPARTNERS partner_no project_no PARTNER_NAME […]

具有每层次表的一对多entity framework为每个子类创建一个外键列

我有一个包含Cars和Motorcycles的Garage 。 汽车和摩托车是Vehicles 。 他们来了: public class Garage { public int Id { get; set; } public virtual List Cars { get; set; } public virtual List Motorcycles { get; set; } public Garage() { Cars = new List(); Motorcycles = new List(); } } public abstract class Vehicle { public int Id { get; […]

Ado.Net实体:对象不显示链接成员(外键)

我有一个简单的数据库方案:用户,帐户。 用户与帐户有1对多的关系。 我已经生成了一个ado.net实体数据模型,我可以创建用户和帐户,甚至可以将它们链接在一起。 在数据库中正确填充了account.user_id,因此理论上我应该能够通过实体访问C#中的User.Account.ToList()。 但是,当我尝试访问User.Account.ToList()时,我得到零结果。 User user = db.User.First(U => U.id == 1); List accounts = user.Account.ToList(); ##count = 0… 当我在前面的代码之前添加以下代码时,它突然给了我正确的计数2。 Account account1 = db.Account.First(A => A.id == 1); Account account2 = db.Account.First(A => A.id == 2); User user = db.User.First(U => U.id == 1); List accounts = user.Account.ToList(); ##count = 2…?? 我在这里想念的是什么?

如何在EF中配置一对多关系

我有以下型号 public class PageConfig : Base { // Properties Etc.. public ICollection ScrollerImages { get; set; } } 我的方法是使用联结表{PageConfigID,ImageID}进行绑定。 在我的模型活页夹中,我尝试了以下.. modelBuilder.Entity() .HasMany(x => x.ScrollerImages) .WithMany() .Map(x => { x.ToTable(“junc_PageConfigScrollerImages”); x.MapLeftKey(“PageConfigID”); x.MapRightKey(“ImageID”); }); 这导致图像的空集合。 如何将这些图像绑定到PageConfig模型? 编辑 大多数问题是由于用户错误。 这发生在你身上…… 检查数据库中的键约束是否已正确设置。 模型上的ICollection需要是虚拟的。

具有默认值的entity framework一对多

我正在尝试在Entity Framework中执行一对多关系,其中许多项中的一个可选地被指定为默认值。 public class SomeEntity { public int Id { get; set; } public Item DefaultItem { get; set; } // Optional public ICollection Items { get; set; } } public class Item { public int Id { get; set; } public string ItemName { get; set; } public SomeEntity SomeEntity { get; set; } […]

基于SQL中的一对多表关系填充对象

我在C#中有一个像这样的对象: private ClassWidget { public int ID; public List WidgetFavoriteNumbers; } 假设我在SQL中有两个表,一个定义小部件属性,另一个包含单个小部件的许多记录,让我们说小部件最喜欢的数字: widgets ———– id (int, not null) // other properties … widget_nums ———- widget_id (int, not null) num (int) 我发现自己经常执行两个SQL查询来填充此对象,即使我知道我可以加入表来创建一个查询。 原因是,仅使用我需要的数据填充对象似乎更简单,而不是迭代具有大量重复数据的结果集。 当然,与真实场景相比,这个小部件示例更加简化。 这是一个例子: int WidgetID = 8; ClassWidget MyWidget = new ClassWidget(); using (SqlConnection conn = GetSQLConnection()) { using (SqlCommand cmd = conn.CreateCommand()) { […]

同时使用多对多和一对多同一实体

我在EF Code-First中有一个多对多的关联(正如本问题中所解释的那样),我想对同一个实体使用一对多关系。 问题是EF没有产生正确的数据库方案。 码: public class A { public int Id { get; set; } public string Name { get; set; } public virtual ICollection ObjectsOfB { get; set; } } public class B { public int Id { get; set; } public virtual A ObjectA { get; set; } public virtual ICollection OtherObjectsOfA { […]

流利的nHibernate:一对多的关系问题

我有一对多关系的问题。 我有以下域类: public class Installation : Entity { public virtual string Name { get; set; } public virtual IList Institutions { get; set; } public Installation() { Institutions = new List(); } } public class Institution : Entity { public virtual string Name { get; set; } public virtual string Address { get; set; } […]