我应该使用构造函数为我的EF POCO类创建虚拟类的实例吗?

时间:2013-03-12 07:48:38

标签: entity-framework

我有以下POCO类,我定义并将与Entity Framework一起使用:

public class Application
{
    public int ApplicationId { get; set; }
    public string Name { get; set; }

    public virtual byte[] RowVersion { get; set; }
    public virtual ICollection<TestAccount> TestAccounts { get; set; }
}

以下是使用EF Code First

创建的表
CREATE TABLE [dbo].[Application] (
    [ApplicationId] INT           IDENTITY (1, 1) NOT NULL,
    [Name]          NVARCHAR (35) NOT NULL,
    [RowVersion]    ROWVERSION    NOT NULL,
    PRIMARY KEY CLUSTERED ([ApplicationId] ASC)
);

有人向我建议我应该有一个构造函数并且在那个构造中 TestAccounts集合。这是正确的,如果是这样,那将是最好的 创建这个的方法。

还有一个问题。对于TestAccounts,我应该使用IList还是ICollection?一世 我不确定最好的是什么?

1 个答案:

答案 0 :(得分:0)

因为您有虚拟属性,所以您可能会将POCO与代理一起使用。在这种情况下,您无法手动构造正确的代理,并且必须始终使用此方法的ObjectSet.CreateObject或DbSet等效于新对象实例化。