【问题标题】:Bug with the dmbl designer file under VS2008?VS2008下dmbl设计器文件的bug?
【发布时间】:2010-12-15 23:15:45
【问题描述】:

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

【问题讨论】:

  • 您是否编辑过 .designer 文件?这是一个很大的禁忌。那是您要编辑的文件(顶部应该有一个很大的警告)。
  • @Marc,永远不要编辑生成的数据上下文文件。我创建了独立的部分类来处理扩展的东西。
  • 现在我想起来了!对不起,我在 15 日没那么警觉。

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


【解决方案1】:

啊!是的!你用的是VS2008,对吧?

这是一个已知的错误,它实际上很重要你的using 指令在你的一半的partial 类...

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

很糟糕,并且破坏了设计器文件...

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

没问题!

适用于您拥有SomeName.dbmlSomeName.cs 的情况,因此另一个解决方法是重命名文件。这在 VS2010 中已修复。疯了吧?

【讨论】:

    【解决方案2】:

    您应该将您的课程保存在单独的文件中。 C# 编译器不关心部件在哪里,所以这是一个简单的解决方法。

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

    【讨论】:

      猜你喜欢
      • 2010-12-17
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多