LInq to SQL - Partial Class - C#

时间:2010-03-12 16:01:48

标签: c# linq-to-sql

我有一个包含2个不同项目的系统,一个叫做LINQ_Extensions,另一个是ORM_Linq。

在ORM_Linq上,我有LINQ图,其中SQL表在“clased”中被“转换”。其中一个类称为“Tipos_Pago”

在另一个项目中,我有另一个类(部分类)“Tipos_Pago”。我想使用方法OnValidate来验证“Tipos_Pago”类中的属性包含,所以我创建了这个部分类。

在2个项目中,我将相同的NameSpace“ORM_Linq”(我更改了项目“LINQ_Extensions”的NameSpace,使其与项目“ORM_Linq”相同)

在这些chages之后,Visual Studio给了我这个错误:

错误1找不到实现部分方法声明的定义声明'ORM_Linq.Tipos_Pago.OnValidate(System.Data.Linq.ChangeAction)'C .. \ Tipos_Pago.cs 13 22 Extensiones_Linq

我对发生的事情一无所知,有人可以帮助我吗?

谢谢,抱歉我的英语很差

这是部分类中的代码:

namespace ORM_Linq
{
    public partial class Tipos_Pago
    {

        partial void OnValidate(System.Data.Linq.ChangeAction action)
        {
         //Valid code
        }   
    }
}

2 个答案:

答案 0 :(得分:2)

您不能在两个项目中实现部分,因为它们必须一起编译,partial声明必须全部在同一个项目中。

同样的规则适用于方法和类。

答案 1 :(得分:2)

您需要在与设计器生成的类相同的项目中创建部分实现。

来自Microsoft documentation

  

所有部分类型定义都意味着   必须是同一类型的部分   在同一个程序集中定义   相同的模块(.exe或.dll文件)。   部分定义不能跨越   多个模块。