【发布时间】:2011-08-11 14:44:58
【问题描述】:
我有 2 个 POCO 课程:
(摘录):
public class Note
{
public int Id { get; set; }
public int CategoryId { get; set; }
public virtual Category Category { get; set; }
public Note(int categoryId)
{
}
}
public class Category
{
public int Id { get; set; }
public virtual ICollection<Note> Notes { get; set; }
}
这是一个1:n 关系,Note 有一个Category,每个类别都有很多Notes。
我希望每个实体上都有一个构造函数来初始化所有属性(这比使用Object Initializer 更好)。
但如果我在 Note 上使用构造函数,我不知道如何将 Note 与其类别“绑定”。
如果我将CategoryId 传递给构造函数,类别将为null。如果我通过 Category 并手动分配 ID,Category 将是 null。
那么,有没有一种方法可以让我使用构造函数来初始化实体,并同时获取链接到我的笔记的类别?
编辑
如您所见,我在 Note 类上有一个构造函数。我的问题是:我必须通过categoryId,整个Category 项目吗? (如果我将某些东西分配给虚拟属性,ReSharper 会哭)。
如果我将categoryId 传递给对象,实体将不会被链接。
【问题讨论】:
-
你也应该展示你的代码,因为它不清楚你在做什么/期待什么
-
已更新。是一件很简单的事情,只需要一个自定义构造函数来构建我的 Note 类并链接类别。
标签: c# entity-framework constructor poco