小编Bri*_*ter的帖子

Visual Studio 2010 SQL变量颜色

我正在尝试为我的Visual Studio 2010环境配置类似zenburn的语法突出显示,并且无法自定义SQL编辑器的颜色方案.

在SQL文本编辑器中,包含局部变量和用户定义的表名的"纯文本"类似于teal,我希望它们与其他文本编辑器一样为220,220,204.

t-sql visual-studio-2010

16
推荐指数
1
解决办法
1973
查看次数

使用guid主键忽略LINQ to SQL实体列名称属性

我正在使用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)

这里只有两件有趣的事情:

  1. 类和属性名称与表名和列名不同
  2. 主键是Guid(uniqueidentifier)

这是表格的样子:

 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)

c# linq sql-server sql-server-2005 linq-to-sql

11
推荐指数
1
解决办法
5801
查看次数