2つのデータベースに2つのテーブルAPPがあり、2つのデータベースで同じアプリ識別子を取得したいのですが、アプリを最初のデータベースに挿入して2番目のデータベースに挿入すると、新しいGUIDが生成されます(指定した場合)私の列のデフォルト値)またはnullGUID。
データベースの2つのテーブルにアプリを挿入するコードは次のとおりです。
app.Id_App = Guid.NewGuid();
app.DateAdded = DateTime.Now;
app.PublisherId_advertiserPublisher = id_publisher;
db.AppSet.AddObject(app);
db.SaveChanges();
//add app to db2
App2 appDB2 = new App2()
{
App_link=app.App_link,
Id_app= app.Id_App,
CategoryId_cat=app.CategoryId_cat,
Description=app.Description,
keywords=keywords.Key_word,
};
DB2.App.AddObject(appDB2);
pushDB.SaveChanges();
私はすでにrowGuid
テーブル定義をnoに変えました。私は何かを逃したことがありますか?2つの異なるデータベースで同じGUIDキーを取得するためのより良い方法はありますか?ありがとう。
Id_app
データベースで生成する必要があることを最初に指定してからDatabaseGenerated.None
、に変更した場合、エンティティフレームワークはSQLを発行して基になるテーブルを変更しません。テーブルを削除して再作成するか、データベースで手動で変更するか、カスタム移行を作成する必要があります。
参照:
移行:DatabaseGeneratedOptionへの変更を検出しません-将来のバージョンでここに投票できます
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加