在我的持久层中,我已声明加载Enums来表示包含引用数据的表(即数据永远不会更改)。
在Linq2SQL中,我能够将实体属性的类型设置为枚举类型并且一切都很好,但是只要我将第二个实体的属性设置为使用相同的枚举类型,代码生成器(MSLinqToSQLGenerator)就会启动生成一个空代码文件。
我认为MSLinqToSQLGenerator正在悄然崩溃。问题是为什么,是否有任何解决方法?还有其他人遇到过这个问题吗?
答案 0 :(得分:2)
你的枚举是否有机会出现在与dbml相同的文件中? 3.5中有一个错误(在4.0中已修复),其中冲突导致空文件。奇怪的是,通常移动using
指令(并右键单击;运行自定义工具)可以修复它。
所以如果你有“foo.dbml”和你自己的“foo.cs”(在同一个文件夹中):
using System;
namespace MyNamespace {
}
它会中断(生成一个空的foo.designer.cs)。如果你有:
namespace MyNamespace {
using System;
}
它会起作用。我不是在开玩笑。同样,将“foo.cs”重命名为“bar.cs”(并右键单击,运行自定义工具)将修复它。
答案 1 :(得分:0)
奇怪的是,我发现这种行为只发生在一个名为“GrantType”的枚举上。一旦更改了枚举的名称,生成器就会重新开始工作。