加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 使用SqlMetal和Visual Studio时自动生成DataContext

发布时间:2020-12-16 06:34:44 所属栏目:asp.Net 来源:网络整理
导读:我使用 LinqToSql为我的ASP.net应用程序使用 SqlMetal来使用我的DataContext.dbml类.当我最初创建DataContext.dbml文件时,Visual Studio使用它来创建相关的DataContext.designer.cs文件.此设计器文件包含C#中的DataContext类,该类在整个应用程序中使用(并且
我使用 LinqToSql为我的ASP.net应用程序使用 SqlMetal来使用我的DataContext.dbml类.当我最初创建DataContext.dbml文件时,Visual Studio使用它来创建相关的DataContext.designer.cs文件.此设计器文件包含C#中的DataContext类,该类在整个应用程序中使用(并且源自dbml文件中的XML),对于弥合SqlMetal的输出与使用LinqToSql的DataContext之间的差距至关重要.

但是,当我对数据库进行更改并重新创建dbml文件时,设计器文件永远不会在我的网站中重新生成.而是维护旧的设计器文件(因此,无法通过LinqToSql DataContext类访问DBML文件的任何更改).

到目前为止,我能够使用的唯一过程是重新生成设计器文件

>转到Windows资源管理器并删除dbml和designer.cs文件
>转到Visual Studio并在解决方案资源管理器中单击“刷新”. dbml和designer.cs文件现在从项目中消失.
>使用SqlMetal重新生成dbml文件
>转到Visual Studio并在解决方案资源管理器中单击“刷新”.现在重新创建designer.cs文件.

当检测到一个还没有designer.cs文件的新dbml文件时,Visual Studio似乎只会生成designer.cs文件.这个过程是非常不切实际的,因为它涉及几个手动步骤并且使用源代码控制来搞乱.

有谁知道如何自动重新生成designer.cs文件而无需遵循上面概述的手动删除/刷新/重新生成/删除过程?

解决方法

在Visual Studio中对DBML进行更改时,通常会自动维护designer.cs文件.如果在重新创建DBML时VS未运行,则可能不知道.

检查Visual Studio中的.DBML文件是否将“自定义工具”属性设置为MSLinqToSQLGenerator.如果不是,则将其设置为.如果尝试在进行更改后右键单击DBML并选择“运行自定义工具”以查看是否更新了.designer.cs.

您还可以使用SqlMetal生成类文件:

sqlmetal /code:DataContext.designer.cs /language:csharp DataContext.dbml

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读