Visual Studio Express 2012 ( VS ) およびSQLServer Express 2012 ( SQLServer )を使用して、C# で Windows フォーム アプリケーションを開発しています。
私のプロジェクトの開始時には、SQL Server Management Studio ( MS )で変更を加えてからVSで変更していました:ダイアグラム ビューでDB から更新します。
しかし、次のようにいくつかの違いが表示されます。
- テーブルは私のVSダイアグラムに存在しますが、MSには存在せず、 Linqで正常に動作します
- MSでいくつかのテーブルとフィールドの名前を変更し、それらがVSで機能しないために更新しました。自分自身を更新すると、次のようなエラーが表示されます
dbo.myNewTable not exists
私が欲しいもの:
- まず、すべてが私のVSの観点で機能します
- MSとVSの両方を同期させる
- 理解する :)
コンテキストは次のとおりです。
- 上記のすべてのプログラムを搭載した 1 台のマシン
- SQLServer 上の 1 つの DB (または、MSが私が想像していることが真実であることを示していないかどうかはわかりません)
- 過去には、同じ DB の 2 つの近いコピーがありました (ただし、かなり昔のことです)。
解決:
対で
- with:
DATABASE_NAME
は私のデータベース名です - そして:
MACHINE_NAME
私自身のマシン名です。基本的にSQLServerがホストされている場所です
App.conf
<connectionStrings>
<add name="DATABASE_NAME_Entities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=MACHINE_NAME;initial catalog=DATABASE_NAME;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
MSと比較
- データベースの名前は
MACHINE_NAME\SQLEXPRESS
この違いを見た:
- グラフィカル接続アシスタントを使用してVSに接続しようとする:目的のみ
MACHINE_NAME\SQLEXPRESS
MACHINE_NAME
- 接続ボックスを使用してMSを接続しようとすると、両方の接続が利用可能です
MACHINE_NAME
その後、想定どおり、2 つの異なるデータベースがありました。
しかし、VSがすべての可能な接続を対象としないのはなぜですか?