表:UserTypes
如何引用LINQ中使用保留字命名的字段?
领域:row,name,Type
这个代码不工作:
Int64 row = 1;
var myType = (from b in dc.UserTypes where b.Row == user.Row select b).Single();
myType.Type = "personalPage";
dc.SubmitChanges();
但是,这个代码...
dc.ExecuteQuery<UserType >("update dbo.UserType set Type='personalPage' where row={0}",user.Row
);
我得到这个错误:
Type the word is a word reserved.i can not user word
Type
编辑
DBML
[Table(Name="dbo.UserType")]
public partial class UserType
{
private long _Row;
private string _Type;
public UserType()
{
}
[Column(Storage="_Row", DbType="BigInt NOT NULL")]
public long Row
{
get
{
return this._Row;
}
set
{
if ((this._Row != value))
{
this._Row = value;
}
}
}
[Column(Storage="_Type", DbType="NVarChar(500) NOT NULL", CanBeNull=false)]
public string Type
{
get
{
return this._Type;
}
set
{
if ((this._Type != value))
{
this._Type = value;
}
}
}
}
是。这就是为什么使用保留字如类型作为字段名称是一个坏主意。 – JohnFx
如果你使用IDE来设置映射(DBML),它通常会自动生成这个对象...... –
@JohnFx - 在他的防守中,它是一个C#保留字而不是'SQL' - 也许他是一个DB人员,不是OO程序员。 – JNK