問題タブ [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 投票する
5 に答える
6288 参照

.net - LinqtoSQL-特定の列をフェッチしないでください

匿名型を使用せずにlinqtosqlを使用して特定の列をフェッチせず、返された各ファイルを個別に指定する方法はあります

SQLMetalを使用して、クエリされたデータの結果を入れるすべてのタイプを含むdbmlファイルを生成します。ただし、select列がlinqクエリに含まれている場合、結果はdbmlファイルで宣言されている型ではなく匿名型になります。特定のテーブルから1つを除くすべての列を選択したいのですが、関連するdbmlタイプで結果が返されます。

どんなアイデアでもありがたいです。

0 投票する
2 に答える
260 参照

visual-studio-2008 - データベースを変更する場合、何を削除して Visual Studio の LinqToSql O/R デザイナーに再度追加する必要があるかをどのように知ることができますか?

たとえば、テーブル内の列を null から非 null に変更します。

次に、テーブルを削除して再読み込みする必要があります。その部分はかなり明確です。

テーブル、特にテーブル内の列にアクセスするビュー、関数、およびストアド プロシージャについてはどうでしょうか。

SQLMetal によって生成されたファイルに対して差分を実行しようとしましたが、ある程度の成功はありましたが、それでもかなり不明です。

この問題に対処すると主張する商用ツールが少なくとも 1 つあることは知っていますが、無料のものを探しています。

人々はこの問題にどのように取り組んでいますか?

0 投票する
1 に答える
1087 参照

linq - SQLMetal を使用して SQL Compact 3.5 データベースから Linq クラスを生成する

Compact 3.5 データベースに対してコマンド ラインから SQLMetal を実行して、Linq クラスを生成しています。Compact 3.5 データベースはローカル データベース キャッシュです (同期フレームワークの [ローカル データベース キャッシュの作成] ウィザードによって生成されます)。ソース SQL 2008 データベースからモデルを作成し、データ コンテキストをコンパクト データベースにポイントしてもうまくいかないようです。

モデルに手動で追加する以外に、関連付けを生成する方法はありますか?

0 投票する
2 に答える
877 参照

visual-studio - SqlMetalで生成されたファイルのコード分析を無視する

SqlMetalで生成されたファイルを含むC#プロジェクトを開発しています。コード分​​析を使用したいのですが。コード分​​析オプションで「生成されたコードからの結果を抑制する」をオンにしましたが、それでもSqlMetalクラスについて報告します。これをオフにする方法はありますか?

VisualStudio2008とSqlMetal2.0.50727.3082を使用しています

0 投票する
3 に答える
6299 参照

visual-studio - sqlmetal.exeが見つかりません

sqlmetalを実行しようとすると、次のようになります。

'sqlmetal'は、内部または外部コマンド、操作可能なプログラム、またはバッチファイルとして認識されません

これは、CMDとVisualStudioコマンドプロンプトの両方からのものです

私は他のマシンでSQLMetalを何度も使用しましたが、このマシンでは機能しないようです...

私は何かが足りないのですか?

0 投票する
1 に答える
374 参照

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 は次のとおりです。

何か案は?

0 投票する
1 に答える
1318 参照

vb.net - MSLinqToSQLGenerator は、SQLMetal とは異なる出力を生成します

かなり大きな DBML ファイルがあり、最近、Visual Studio の MSLinqToSQLGenerator が以下とは異なる出力を生成していることを発見しました。

生成された VB コードから任意の (そして比較的小さいと思う) 関連のセットを削除したようです。しかし、SQLMetal は問題なく動作します。出力は同じであるべきではありませんか?

さらに調査した結果、違いは、列の数が異なる同じエンティティの他のアソシエーションでも使用されるプロパティを含むエンティティのアソシエーションであるように思われることがわかりました。例: エンティティ A には列 id と name があります エンティティ B には列 id、name および fkA (A への外部キー) があります エンティティ C には列 id、name、fkA および fkB (nullable fkB) があります

エンティティ C には、fkA を A.id にリンクするアソシエーション C_A があり、fkA と fkB を B.fkA と B.id にリンクするアソシエーション C_B もあります。

C_B をサポートするプロパティのコードは、Visual Studio では生成されませんが、SqlMetal.exe によって生成されます。

このような協会は許されますか?コードが異なる方法で生成されている理由はありますか?

0 投票する
2 に答える
674 参照

c# - C#: SQLMetal で生成されたデータベース クラスにデータを追加しますか?

SQLMetal を使用してデータベースを表すコード ファイルを生成しましたが、SQLMetal で生成されたクラスからデータベースにエントリを追加する方法がわかりません。どうすればいいですか?さまざまなプロパティなどに追加するだけですか?

0 投票する
4 に答える
3799 参照

linq - 同じテーブルへの複数の外部キー

性別、住所タイプ、連絡先タイプなどのあらゆる種類の制御値ルックアップデータを含む参照テーブルがあります。多くのテーブルには、この参照テーブルへの複数の外部キーがあります。

また、同じテーブルへの2つの外部キーを持つ多対多の関連付けテーブルもあります。残念ながら、これらのテーブルがLinqモデルにプルされ、DBMLが生成されると、SQLMetalは外部キー列の名前や制約の名前を調べず、ターゲットテーブルのみを調べます。そのため、Reference1、Reference2、...というメンバーになってしまいます。メンテナンスはあまり簡単ではありません。例:

もちろん、DBMLにアクセスしてメンバー名を手動で変更することはできますが、これは、データベーススキーマをラウンドトリップできなくなったことを意味します。これは、まだ進化しているモデルの現段階ではオプションではありません。参照テーブルをn個の個別のテーブルに分割することも望ましくありません。

おそらく、世代ごとにXMLに対して実行され、メンバー名をThisKeyから派生したものに置き換えるスクリプトを作成できます(これらのタイプのキーの命名規則に準拠しているため)。誰かがこの問題のより良い解決策を見つけましたか?