0

私はEntityFrameworkを初めて使用しますが、コードの最初のビットはすでに正しくないか、少なくとも、期待したものではないようです。

データベースからエンティティオブジェクトを生成しました。私のテーブルの1つはですWebUser。だから私はエンティティオブジェクトを持っていることを知っていますWebUser。データベースは、テーブルの主キーでもある Identityという名前の列を使用します。WebUserID

ただし、このCreateWebUserメソッドには次のシグネチャがあります...

public static WebUser CreateWebUser(global::System.Int32 webUserID, 
                                    global::System.String userName, 
                                    global::System.String password, 
                                    global::System.String emailAddress)

なぜそれが求めているのWebUserIDですか?これはデータベースに挿入できません。

4

2 に答える 2

1

マニュアルで説明されているように、IDは0に設定する必要があります。を呼び出すとEFによって更新されますContext.SaveChanges()

またはを使用Context.CreateObject<WebUser>()して(医師の提案に従って)var newUser = new WebUser()、新しいエンティティを作成し、他のプロパティを設定するときにIDを省略することもできます。

于 2012-05-25T13:36:32.247 に答える
1

を設定するwebUserIDか、デフォルトのままにすることができます。ただし、2つ以上のWebユーザーを追加する場合はwebUserID、アイテムの順序を設定するために使用できます。

db.CreateWebUser(2,"The Second Recored","2","2");
db.CreateWebUser(1,"The First Recored","1","1");
db.SaveChanges();

最初にデータベースに挿入されるのはどれですか?答えは、webUserID小さい方が最初にデータベースに挿入されるということです。

于 2012-05-25T13:43:35.097 に答える