当前位置:  开发笔记 > 编程语言 > 正文

LINQ to SQL - 使用部分类和方法扩展数据上下文时编译错误

如何解决《LINQtoSQL-使用部分类和方法扩展数据上下文时编译错误》经验,为你挑选了1个好方法。

我试图使用我的datacontext.designer.cs文件中的扩展性方法定义来进行一些验证.

所以我创建了一个新文件并添加了这段代码:

public partial class LawEnforcementDataContext : System.Data.Linq.DataContext
{

    partial void InsertCourse(Course instance) // this definition copied from generated file
    {
        ValidateCourse(instance);
        this.ExecuteDynamicInsert(instance);
    }

    partial void UpdateCourse(Course instance) // this definition copied from generated file
    {
        ValidateCourse(instance);
        this.ExecuteDynamicUpdate(instance);
    }

    private void ValidateCourse(Course instance)
    {
        if (instance.StartDate > instance.EndDate)
        {
            throw new ApplicationException("Start date cannot be later than end date.");
        }
    }
}

我因为这些错误而无法编译:

Error   1   No defining declaration found for implementing declaration of partial method 'LawEnforcementDataContext.InsertCourse(reservation.lawenforcement.Course)'
Error   2   No defining declaration found for implementing declaration of partial method 'LawEnforcementDataContext.UpdateCourse(reservation.lawenforcement.Course)'

我不明白我做错了什么.我之前做过这个.此外,在添加上述代码之后,在引用LINQ to SQL创建的类的代码中,它抱怨我的实体类型不再存在.就像部分类LawEnforcementDataContext完全接管生成的代码一样.

编辑

以下是生成的代码中部分声明的另一半:

    // the class
    public partial class LawEnforcementDataContext : System.Data.Linq.DataContext

    // the methods
    partial void InsertCourse(Course instance);
    partial void UpdateCourse(Course instance);

leppie.. 13

您的两个分部类在不同的名称空间中定义,因此编译器不会"共享"它们.

为此,DBML设计器中的Properties下有一个设置.也许重置?



1> leppie..:

您的两个分部类在不同的名称空间中定义,因此编译器不会"共享"它们.

为此,DBML设计器中的Properties下有一个设置.也许重置?

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有