0

我定义了以下 POCO 类,并将与实体框架一起使用:

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?我不确定最好的是什么?

4

1 回答 1

0

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

于 2013-03-12T14:46:50.953 回答