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