我是LINQ的初学者。
我使用的是.NET 3.5。和VS 2008。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq.Mapping;
using System.Data.Linq.Provider;
namespace LINQ_to_SQL_Test
{
[Table(Name="Person")]
public class Person
{
[Column(Name="ID", Storage="_ID", DbType="IS NOT NULL IDENTITY", Id=true, AutoGen=true)]
public int ID { get; set; }
public int IDRole { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
}
}
该程序无法在Column属性中找到Id
和AutoGen
的定义。
我该怎么办?
答案 0 :(得分:1)
通过“[t]他编程”我假设您指的是C#编译器,并且可能csc
与Visual Studio 2008一起安装。
用于设置ColumnAttribute
属性的语法已过时;我相信当LINQ作为CTP发布时,语法是正确的。现在正确的语法是:
[Column
(
Name="ID",
Storage="_ID",
DbType="Int NOT NULL IDENTITY",
IsPrimaryKey=true,
IsDbGenerated=true
)
]
也就是说,Id
已被IsPrimaryKey
取代,AutoGen
已被IsDbGenerated
取代。
答案 1 :(得分:0)
ColumnAttribute
中没有此类属性。对于Id
,您要查找的内容可能是IsPrimaryKey
。关于AutoGen
,我不知道在这种背景下它应该是什么意思......
编辑:好的,我明白你的意思AutoGen
...我认为正确的属性是IsDbGenerated