问题标签 [sqlmetal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8931 浏览

asp.net - 使用 SqlMetal 和 Visual Studio 时自动生成 DataContext 设计器文件

我正在使用SqlMetal为使用 LinqToSql 的 ASP.net 应用程序通用我的 DataContext.dbml 类。当我最初创建 DataContext.dbml 文件时,Visual Studio 使用它来创建相关的 DataContext.designer.cs 文件。此设计器文件包含 C# 中的 DataContext 类,该类在整个应用程序中使用(并且从 dbml 文件中的 XML 派生),对于弥合 SqlMetal 的输出和使用带有 LinqToSql 的 DataContext 之间的差距至关重要。

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

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

  1. 转到 Windows 资源管理器并删除 dbml 和 Designer.cs 文件
  2. 转到 Visual Studio 并在解决方案资源管理器中点击刷新。dbml 和 Designer.cs 文件现在从项目中消失了。
  3. 使用 SqlMetal 重新生成 dbml 文件
  4. 转到 Visual Studio 并在解决方案资源管理器中点击刷新。现在重新创建了 Designer.cs 文件。

似乎 Visual Studio 只会在检测到新的 dbml 文件但还没有 Designer.cs 文件时才会生成 Designer.cs 文件。这个过程非常不切实际,因为它涉及几个手动步骤,并且会弄乱源代码控制。

有谁知道我如何可以自动重新生成 Designer.cs 文件,而无需遵循上述手动删除/刷新/重新生成/删除过程?

0 投票
1 回答
366 浏览

sqlmetal - SQLmetal, is it only a mapper for linq to sql?

Is the code gen tool sqlmetal only a mapper to linq to sql?

I'm looking for something that will create common CRUD operations also like:

GetUserByID UpdateUserByID InsertUser GetAllUsers

etc.

0 投票
2 回答
1351 浏览

visual-studio - 如何在VS2008中添加SqlMetal构建步骤?

我创建了一个单行批处理文件来运行 SqlMetal 为我的数据库重新生成 LINQ to SQL DataContext;这很好用。

Refresh_DataContext.bat

到目前为止,我可以通过在资源管理器中打开封闭文件夹并运行批处理文件来运行它,我还将它添加到工具菜单 ( Tools/External Tools.../Add) 中。

现在我想在构建时(在某些配置中)运行这个批处理文件。我该怎么做呢?

0 投票
2 回答
2030 浏览

vb.net - 访问部分类的另一半的成员

我只是在学习使用 VB.NET 和 VS2008 中的部分类。具体来说,我正在尝试扩展由 SqlMetal 自动创建的 LINQ to SQL 类。

自动生成的类如下所示:

在一个单独的文件中,这就是我想要做的:

Me.Country...但我在' '和消息下得到蓝色锯齿'Country' is not a member of 'DataContext.Concession'。分部类的两半都在同一个命名空间中。

那么如何从我的部分类的一半访问自动生成的部分类的一半的属性?

0 投票
2 回答
608 浏览

c# - 如何使用 sqlmetal 生成内部(非公共)数据上下文

我想使用 sqlmetal 为我的项目生成 dbml 数据上下文,但是创建的数据上下文和所有类都标记为public. 由于这应该是一个 API 层,我想将其中许多类或至少将上下文本身标记为internal. 有没有办法在 sqlmetal 或其他工具中执行此操作,而无需手动编辑 dbml?

0 投票
2 回答
334 浏览

asp.net - 从命令行运行 Web 应用程序代码?

我有一个 ASP.NET Web 应用程序,其中包含用于执行其自己的数据库模式的代码;此代码在应用程序启动时运行。

我最近开始使用 LINQ to SQL,并添加了一个预构建事件来在我的数据库上运行 SqlMetal,以便我获得代表我的数据库表的对象。

如果我可以在预构建事件中强制执行数据库模式,然后运行 ​​SqlMetal,那将是非常酷的。实际上,如果架构发生变化(例如,我向表中添加了一个字段),我必须 (a) 构建并运行网站一次,以便应用程序启动并强制执行架构,然后 (b) 再次构建它以便 SqlMetal 运行。

那么:从命令行运行 Web 应用程序中的代码有哪些选择?

0 投票
1 回答
595 浏览

linq-to-sql - 生成 LINQ-to-SQL 数据层

我通常将CodesmithNetTiers用于我的数据层,因为它们可以从命令行运行,所以只要对数据库进行更改,它只需要一个简单的批处理文件来重新生成/重建所有内容。

现在我正在研究 LINQ-to-SQL,但我发现 WYSIWYG 实体设计器并不方便。还有哪些其他方法可用于生成 LINQ-to-SQL 类?有没有人有使用 SQLMetal 的经验?

谢谢。

0 投票
3 回答
924 浏览

visual-studio-2008 - 是否可以通过脚本自动生成我的 Linq2Sql DBML?

我使用 Linq2Sql,并且厌倦了每次数据库更改时都重新创建 dbml。考虑到我想要所有表和所有过程,是否可以编写模型的创建脚本?理想情况下,它将是构建过程或自定义工具的一部分。

一个简单的“从模式刷新”按钮也可以,但据我所知,没有这样的事情。目前,我必须更新我的模型的唯一方法是删除已更改的表和过程,然后从服务器资源管理器中重新拖动它们。

也许我错过了什么?

0 投票
2 回答
543 浏览

linq-to-sql - SqlMetal 生成垃圾关联名称

为什么 SqlMetal 弄乱了关联名称。例如,在我的“TextMessage”表中,我有两列引用“ApplicationUser”表。'SenderUserId' 和 'RecipientUserId'

当我运行 SqlMetal 并查看我的“ApplicationUser”类时

对于“RecipientUserId”,它会生成:

对于“SenderUserId”,它会生成这个名为垃圾的属性:

我该如何补救?这是不可用的。有没有更好的方法来生成 Linq To Sql 代码???

0 投票
4 回答
1822 浏览

linq - 生成 12MB DataContext.cs 文件时,如何使用 SQLMetal 为大型数据库创建 LINQ To SQL 数据上下文?

我的问题是这样的:

我们有一个非常大的 Legacy DB,其中包含许多 SPROC、视图和表。

设计师是尺寸的“NO GO”b/c。

我已经配置 SQL Metal 来构建数据上下文,但是生成的代码文件太大(12MB),Visual Studio 2008 无法打开它。

如果 SQLMetal 会为每个类类型(表、视图、SPROC_Result)生成一个新文件,我会没事的。

但由于它目前有效,我很高兴。

想法??