我在数据库中添加了两个新表。我把它们放在设计图面上。我的理解是,它应该只是自动生成design.cs代码的结果。
我检查了csproj中的引用,一切看起来都很好。
我尝试了RunCustomTool,但这似乎没有把任何东西拉到DBML或designer.cs。删除、保存和重新添加的组合没有任何效果。
这是使用MSLinqToSQLGenerator,而不是SQLMetal我感觉好像漏掉了一些简单的技巧。
UPDATE:所以问题是在一个特定的表上。如果我添加这个表,它会正确生成。
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]
无法处理与表名称相似的字段CREATE TABLE [dbo].[_SeatSize](
[SeatSize] [int] NOT NULL,
行不通的。CREATE TABLE [dbo].[_SeatSize](
[SeatSizer] [int] NOT NULL,
工作很好。注意,表上的下划线前缀不足以产生影响。