2015-09-13 65 views
0

我已经向数据库添加了两个新表。 我把它们放在设计表面上。 我的理解是它应该自动生成design.cs代码。 根据我错误的记忆,当我上周添加了一张新表时,却没有在本周添加新表。从dbml刷新生成的代码

我检查了csproj中的引用,在那里一切看起来都OK。

我试过RunCustomTool,但是这似乎没有把任何东西拉到DBML或者designer.cs中。 删除,保存和重新添加的组合都没有任何影响。

这是使用MSLinqToSQLGenerator,而不是SQLMetal 这感觉就像我错过了一些简单的技巧。

更新:所以问题是与一个特定的表。 如果我添加此表,它会正确生成。

CREATE TABLE [dbo].[_LeakageClass](
    [id] [int] NOT NULL, 
    [Class] [nvarchar](25) NOT NULL, 
    [Description] [nvarchar](50) NOT NULL 
CONSTRAINT [PK__LeakageClass] PRIMARY KEY CLUSTERED 
(
    [id] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

如果我添加此表,它将停止工作,并且没有别的从此生成代码。

CREATE TABLE [dbo].[_SeatSize](
    [model] [int] NOT NULL, 
    [ValveSize] [int] NOT NULL, 
    [SeatSize] [int] NOT NULL, 
    [Stroke] [int] NOT NULL 

CONSTRAINT [PK__SeatSize] PRIMARY KEY CLUSTERED 
(
    [model] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

回答

0

它无法处理名为类似于表的字段。
CREATE TABLE [dbo].[_SeatSize](
[SeatSize] [int] NOT NULL,
不起作用。
CREATE TABLE [dbo].[_SeatSize](
[SeatSizer] [int] NOT NULL,
工作正常。请注意,表格中的下划线前缀不足以有所作为。