私はSQLを初めて使用しており、LINQ To SQLを使用してテーブルを作成しようとしました。LINQ To SQL/SQL CEを使用してテーブルを作成
まず私はDataContextのオブジェクトを作成します。
const string connStr = @"Spiri_SQL_CE_DB.sdf";
_dc = new Spiri_SQL_CE_DB(connStr);
そして、私はこの方法でDBテーブルを作成してみてください。
public void CreateUserTab(string nick)
{
string sqlCdm = string.Format(CultureInfo.InvariantCulture, "CREATE TABLE {0} (Nick nvarchar(30) PRIMARY KEY, AzetID nvarchar(30), RpText nvarchar(300), Your bit, Sing nvarchar(30), Time DateTime, OriginalTxt nvarchar(300))",nick);
_dc.ExecuteCommand(sqlCdm);
_dc.SubmitChanges();
}
1.
最初の問題は、私はこれを使用することですメソッドを作成し、テーブルを作成してアプリを閉じる。しかし、新しい作成されたテーブルはデータベースにありません。
私がデータベース上で行った変更は保存されていないと思います。サーバーエクスプローラでdbファイルをチェックすると、新しいdbテーブルが表示されません。
第2の問題点です。
例えば、私はDBのテーブルを表すクラスを持って、ここにある:
[Table]
public class User
{
[Column(IsPrimaryKey = true)]
public string Nick { get; set; }
[Column]
public string AzetId { get; set; }
[Column]
public String RpText { get; set; }
[Column]
public bool Your { get; set; }
[Column]
public string Sing { get; set; }
[Column]
public DateTime Time { get; set; }
[Column]
public string OriginalTxt { get; set; }
}
私は、CLRクラスTabel上可能なマッピングのSQLテーブルである知っています。このクラスでDBテーブル(特定の名前)を作成することは可能ですか?
私のコードでSQLコマンドを省略したいのですが、CLRオブジェクトからdbテーブルを作成できますか?
3.そして最後の質問です:
シナリオは次のとおりです。
私は、私はSqlMetalでTable<User>
のSQLコンパクトなDBファイル、それが構成されて一つのテーブルUser1のタイプを生成している
* dbmlファイル。
次に、コードから別のテーブルUser2、User3 ... UserNを作成します。
アプリを閉じる
可能であれば、dbテーブルUser2 ... UserNにアクセスできますか?または別のdbmlファイルを作成する必要がありますか?