2011-04-19 3 views
2

데이터베이스를 만들고 있는데 테이블의 ID에 'Id'이외의 다른 명명 규칙을 사용하고 싶습니다. 예를 들어, 제품 테이블이 있고 ProductId를 기본 키 이름으로 사용하려고합니다. 어떻게해야합니까?Linq 2 SQL - 'Id'보다 ID 이름 사용

내 POCO에서 데이터베이스를 생성 할 때 'myEntity'유형의 'Id'키의 핵심 회원 'Id'를 찾을 수 없습니다. 키가 잘못되었거나 'myEntity'의 필드 또는 속성이 이름을 변경했습니다.

public class Product 
{ 
    [Column(IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.OnInsert, Name="ProductId")] 
    internal int ProductId{ get; set; } 

    [Column (CanBeNull=false)] 
    public string Name { get; set; } 

    [Column (CanBeNull=false)] 
    public DateTime CreatedDate { get; set; } 

    [Column (CanBeNull=true)] 
    public DateTime? ModifiedDate { get; set; } 
} 
+1

나는 오류가 게시 된 코드와 관련이 없다고 생각합니다. 다른 것일 수도 있습니다. – V4Vendetta

답변

1

제품 당신의 DataContext에서 참조 유일한 테이블 :

여기 내 실체인가? 이것은 나를 위해 작동합니다 :

static void Main(string[] args) 
{   
    MyDatabase db = new MyDatabase(@"C:\Temp\Database.sdf"); 
    db.CreateDatabase(); 
} 

public class MyDatabase : DataContext 
{ 
    public Table<Product> Products; 
    public MyDatabase(string connection) : base(connection) { } 
} 

[Table(Name="Products")] 
public class Product 
{ 
    [Column(IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.OnInsert, Name="ProductId")] 
    internal int ProductId{ get; set; } 

    [Column (CanBeNull=false)] 
    public string Name { get; set; } 

    [Column (CanBeNull=false)] 
    public DateTime CreatedDate { get; set; } 

    [Column (CanBeNull=true)] 
    public DateTime? ModifiedDate { get; set; } 
} 
+0

예 .... 늦은 밤 프로그래밍 실수. 나는 'myEntity'를 참조하는 다른 엔티티를 가졌지 만 ID 이름이 잘못되었습니다. – contactmatt