VS2008下dmbl设计器文件的bug?

时间:2010-12-15 23:15:46

标签: c# visual-studio-2008 linq datacontext

我今天一直在努力使用linq2sql dbml设计文件。当我开始将我的桌子放在设计师身上时,一切都很好。我修改名称空间并关闭数据上下文的连接字符串属性。然后我想创建我的linq实体的部分扩展。所以我在文件设计器上点击了F7。在这一点上,一切都很酷。然后,当我使用DB的模式更改某些内容时,我返回并添加另一个表或删除并重新添加旧表,MyContext.dbml会丢失其下的MyContext.design文件。另外2个(.cs和.layout仍在那里)。当然,它打破了我需要从头开始的一切。很烦人。有任何想法吗?

2 个答案:

答案 0 :(得分:1)

啊!是!你正在使用VS2008,对吧?

这是一个众所周知的错误,实际上您的using指令位于partial类的 一半的位置实际上很重要......

using Foo;
namespace Bar {
    // ...
}

很糟糕,并且破坏了设计师档案......

namespace Bar {
    using Foo;
    // ...
}

很好!

当您拥有SomeName.dbmlSomeName.cs时,此仅适用,因此另一个修复方法是重命名该文件。这已在VS2010中修复。疯了,是吗?

答案 1 :(得分:0)

您应该将您的课程保存在单独的文件/文件中。 C#编译器并不关心部件的位置,因此这是一个简单的解决方法。

此外,如果您将类编写到生成的文件中(在帖子中不是很清楚),那么这不是错误,而是期望的行为。