linq2 SQL -使用ID名称大于'ID '

本文关键字:ID 大于 SQL 使用 linq2 | 更新日期: 2023-09-27 17:50:27

我正在创建一个数据库,我想使用不同的命名约定而不是'Id'作为表的Id。例如,我有一个产品表,我想使用ProductId作为主键名。我该怎么做呢?

当我从我的POCO生成我的数据库时,我得到错误'找不到键'Id'的键'Id'类型'myEntity'的关键成员'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; }
}

linq2 SQL -使用ID名称大于'ID '

Products是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; }
}