0

あなたが持っていると仮定します

public class A
{
   public string _myString;
}

そして、このコンテキスト:

public class MyContext: DbContext
{
    public DbSet<A> myASet{ get; set; }
}

さて、EFにID列を生成するように指示する方法はありますmyASetか?

ID フィールドを に追加したくないclass Aので、EF でこれを行うことができるかどうか疑問に思います。どうもありがとう、

ユルゲン

4

3 に答える 3

2

データベースに ID 列を含める場合は、クラスに ID 列を追加する必要があります。また、EF では、各エンティティに主キーがマップされている必要があります。

于 2011-11-18T10:36:00.330 に答える
1

Product というエンティティと 'ProductId' というプロパティがある場合、EF は慣例によりエンティティ名 + Id を検索するときに ID 列を自動的に追加します。

目的のプロパティの上に [key] 属性を追加することで、規則に準拠していない列を使用できます。

以下の例では。ProductId の ID 列が作成されます。

 public class Product 
 { 
    public int ProductId { get; set; } 
    public string Name { get; set; } 
    public string CategoryId { get; set; } 
    public virtual Category Category { get; set; } 
 } 

この例では、列「MyId」が ID として作成されます。

 public class Product 
 { 
    [key]
    public int MyId { get; set; } 
    public string Name { get; set; } 
    public string CategoryId { get; set; } 
    public virtual Category Category { get; set; } 
 }
于 2011-11-18T10:27:53.647 に答える
1

EF は実際にモデル クラスにある列のみを使用するため、必要なすべての列を自分で配置する必要があります。これには、主キーの ID 列が含まれます。

于 2011-11-18T10:24:53.297 に答える