我正在尝试为我的Visual Studio 2010环境配置类似zenburn的语法突出显示,并且无法自定义SQL编辑器的颜色方案.
在SQL文本编辑器中,包含局部变量和用户定义的表名的"纯文本"类似于teal,我希望它们与其他文本编辑器一样为220,220,204.
我正在使用LINQ to SQL的简单实体类(SQL Server 2005 SP3 x64).
[Table( Name="TBL_REGISTRATION" )]
public sealed class Registration : IDataErrorInfo
{
[Column( Name = "TBL_REGISTRATION_PK", IsPrimaryKey = true, IsDbGenerated = true, AutoSync = AutoSync.OnInsert )]
public Guid RegistrationID { get; private set; }
/* other properties ommited for brevity */
}
Run Code Online (Sandbox Code Playgroud)
这里只有两件有趣的事情:
这是表格的样子:
create table dbo.TBL_REGISTRATION
(
TBL_REGISTRATION_PK uniqueidentifier primary key clustered
rowguidcol
default newid(),
/* other columns ommited for brevity */
)
Run Code Online (Sandbox Code Playgroud)
当我将此实体附加到我的表并在我的DataContext上提交更改时,LINQ堆栈会抛出一个SqlException:
SqlException(0x80131904):无效的列名'RegistrationID'
LINQ似乎忽略了我的RegistrationID属性上的Column(Name ="TBL_REGISTRATION_PK")属性.我花了一些时间用不同的属性装饰试图让它工作.最后,我决定使用私有TBL_REGISTRATION_PK属性来包装我的RegistrationID属性以使LINQ满意.
[Table( Name="TBL_REGISTRATION" )]
public sealed …Run Code Online (Sandbox Code Playgroud)