部分类与自动生成的类部分不匹配

时间:2011-05-17 14:41:29

标签: c# entity-framework .net-4.0 resharper partial

我为我的数据库类创建了实体模型,其中之一是:

[EdmEntityTypeAttribute(NamespaceName="SotiModel", Name="SKUPrice")]
[Serializable()]
[DataContractAttribute(IsReference=true)]
public partial class SKUPrice : EntityObject
{
    ...
}

并为其中一个创建了部分类

public partial class SKUPrice
{
}

这里的问题是'部分'世界是用'浅色'写的,而resharper建议:'部分类只有一个部分'

似乎我的“自己”部分课程的部分与“主要”部分不匹配......

为什么呢?如何解决?

非常感谢!

P.S。我在Windows7(64位)

下的VS2010中工作

我不知道究竟是什么问题,但是由于某种原因,如果我将类源代码从一个文件复制/粘贴到另一个文件,然后重命名类名和元数据类名的名称 - 这不是'考虑'由Visual studio作为有效的类。

如果我删除带有“破损”类的文件,并且从头开始手动输入TYPE EVERYTHING - 文件被工作室接受......

奇怪而愚蠢的事......但它是......

如果你知道为什么会这样 - 请告诉我。

感谢。

6 个答案:

答案 0 :(得分:22)

每个类定义必须位于相同的命名空间中才能正确匹配。

答案 1 :(得分:5)

有类似的问题。尝试重新启动Visual Studio。

答案 2 :(得分:4)

这听起来很愚蠢,但请尝试手动输入命名空间。

我的问题与你的问题类似,在命名空间后添加一个空格后,resharper会神奇地识别出部分类。我尝试删除空格,仍然有效。简而言之,源代码文件实际上是相同的,但它们的区别对待仅仅因为命名空间有任何手动键入的痕迹。

对我来说听起来像VS病毒。

答案 3 :(得分:0)

我有同样的问题,我通过从resharper 6.1降级到6.0来解决它,一切正常。 如果您正在使用resharper,请尝试临时卸载它。

答案 4 :(得分:0)

我知道已经有一段时间了,但我遇到了这个问题而且我注意到我的x:Class="NAME"与文件NAME不匹配。我也复制并粘贴了,但我一开始忽略了改变。使名称匹配修复了我遇到的所有问题。

答案 5 :(得分:0)

类定义不能跨程序集分布。