0

単純に知りたい

update table set (name,surname) values ('John','Locke') where Id=1 llblgen に相当する sql ステートメント、以下のコードを試しましたが、うまくいきませんでした。

            Entity e = new Entity();
            entity.Id = 1;
            entity.name = "John";
            entity.surname = "Locke";
            entity.Save();

誰でも助けることができますか?

4

1 に答える 1

2

基本的に、上記で行っていることは、まったく新しいエンティティを作成することです。既存のものを更新するには、これを使用します。

Entity e = new Entity(1);
entity.name = "John";
entity.surname = "Locke";
entity.Save();

キーは最初の行です。SelfServicingを使用しているため、その行で LLBLGen フレームワークはエンティティをフェッチしようとします。エンティティが DB に存在する場合、データはエンティティに取得されます。そうでない場合、エンティティは新しいものとして扱われます。エンティティは DB に存在するため、実際に変更された値 (つまり、フェッチされたフィールド値が実際に設定した値と異なる) が UPDATE sql クエリで使用されます。

これはドキュメントで説明されています。

于 2012-11-08T05:56:27.107 に答える