问题标签 [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.
.net - Linq to SQL - 不要获取特定列
有没有办法不使用 linqtosql 获取特定列,而不必使用匿名类型并单独指定每个返回的文件?
我们使用 SQLMetal 生成 dbml 文件,该文件包含所有类型的查询数据结果。但是,当在LINQ查询中包含选择列时,结果将变成匿名类型,而不是DBML文件中声明的类型。我想从特定表中选择除一列之外的所有列,但仍然以相关的 dbml 类型返回结果。
任何想法表示赞赏。
sqlmetal - SqlMetal 脚本和大写
当我运行 SqlMetal 时,它会生成所有带有大写字母的视图和函数。他们是一种让它在数据库中的任何情况下生成它的方法吗?
当我使用 UI 构建 DBML 和 CS 文件时,它会正确处理此问题,但是当我编写脚本时,SqlMetal 似乎将它们设为大写。
这没什么大不了的,但这让我想知道它们是否是我不知道的其他细微变化,或者我只是在做一些愚蠢的事情。
如果有帮助,这就是我正在做的事情:
visual-studio-2008 - 当我进行数据库更改时,我如何知道需要删除哪些内容并将其读入 Visual Studio 中的 LinqToSql O/R 设计器?
例如,我将表中的列从 null 更改为不为 null。
然后我需要删除并读取表格。那部分很清楚。
访问表,尤其是表中的列的视图、函数和存储过程呢?
我已经尝试对 SQLMetal 生成的文件运行差异,但取得了一些有限的成功,但即便如此,它还是相当不清楚。
我知道至少有一个商业工具声称可以解决这个问题,但我正在寻找免费的东西。
人们如何处理这个问题?
linq - 使用 SQLMetal 从 SQL Compact 3.5 数据库生成 Linq 类
我通过从命令行对 Compact 3.5 数据库运行 SQLMetal 来生成 Linq 类。Compact 3.5 数据库是本地数据库缓存(由同步框架“创建本地数据库缓存向导”生成)。CE 似乎支持外键约束,但我没有看到任何外键约束,并且 SQLMetal 不会将它们生成到模型中。生成我的来自源 SQL 2008 数据库的模型并将我的数据上下文指向 Compact 数据库似乎不起作用。
除了手动将它们添加到模型中之外,还有什么方法可以生成我的关联?
visual-studio - 忽略 SqlMetal 生成文件的代码分析
我正在开发一个包含 SqlMetal 生成文件的 C# 项目。我想使用代码分析。我在代码分析选项中打开了“抑制生成代码的结果”,但它仍然报告 SqlMetal 类。有什么办法可以关闭它吗?
我正在使用 Visual Studio 2008 和 SqlMetal 2.0.50727.3082
visual-studio - 找不到 sqlmetal.exe
每当我尝试运行 sqlmetal 时,我都会得到以下信息:
'sqlmetal' 不是内部或外部命令、可运行程序或批处理文件
这来自 CMD 和 Visual Studio 命令提示符
我在其他机器上多次使用过 sql metal,但它似乎在这台机器上不起作用......
我错过了什么吗?
c# - 为什么 SQLMetal.exe 为 SQL Compact 3.5 和 SQL Express 2008 生成不同的结果(缺少外键)
故事如下:我创建了一个 SQL Compact 3.5 数据库并使用 SQLMetal.exe 为其生成 DataContext。它运行良好,但很快我意识到它根本不适合我的需求,所以我决定使用 SQL Express 2008。我启动了用于 Compact 创建模式的相同 SQL 脚本,然后启动了 SQLMetal.exe 工具. 我没想到生成的 DataContext 会有所不同,但由于某种原因我错过了所有的关系。
这是 SQL Compact 命令行:
这是 SQL Express 2008:
有任何想法吗?
vb.net - MSLinqToSQLGenerator 生成与 SQLMetal 不同的输出
我有一个相当大的 DBML 文件,最近发现 Visual Studio 的 MSLinqToSQLGenerator 生成的输出不同于:
它似乎已经从生成的 VB 代码中删除了一组任意(我认为相对较小)的关联。但 SQLMetal 工作正常。输出不应该相同吗?
经过进一步研究,我发现差异似乎是实体上的关联涉及属性,这些属性也用于具有不同列数的同一实体上的其他关联。例如: 实体 A 具有列 id 和 name 实体 B 具有列 id、name 和 fkA(A 的外键) 实体 C 具有列 id、name、fkA 和 fkB(可为空的 fkB)
实体 C 具有关联 C_A,将 fkA 链接到 A.id 它还具有关联 C_B,将 fkA 和 fkB 链接到 B.fkA 和 B.id
支持 C_B 的属性代码不会由 Visual Studio 生成,而是由 SqlMetal.exe 生成。
允许这种关联吗?代码生成方式不同是否有原因?
c# - C#:将数据添加到 SQLMetal 生成的数据库类?
我使用 SQLMetal 生成了一个代表我的数据库的代码文件,但我不知道如何从 SQLMetal 生成的类中将条目添加到数据库中。我该怎么做呢?我只是添加到各种属性还是什么?
linq - 同一张表的多个外键
我有一个参考表,其中包含性别、地址类型、联系人类型等的各种受控值查找数据。许多表对此参考表有多个外键
我还有一个多对多关联表,它们有两个外键指向同一个表。不幸的是,当这些表被拉入 Linq 模型并生成 DBML 时,SQLMetal 不会查看外键列的名称或约束的名称,而只会查看目标表。因此,我最终得到了名为 Reference1、Reference2 的成员……对维护不太友好。例子:
当然,我可以进入 DBML 并手动更改成员名称,但这意味着我不能再往返我的数据库模式。在模型的当前阶段,这不是一个选项,该模型仍在发展中。将引用表拆分为 n 个单独的表也是不可取的。
我可能会编写一个脚本,在每一代之后针对 XML 运行,并用派生自 ThisKey 的名称替换成员名称(因为我遵守这些类型的键的命名约定)。有没有人找到更好的解决这个问题的方法?