[解決済み】クラスのプロパティでカラム名を手動でマッピングする
2022-04-16 20:14:48
質問
私はDapper micro ORMの初心者です。今のところ、簡単なORM関連に使用することができますが、データベースのカラム名とクラスのプロパティをマッピングすることができません。
例えば、次のようなデータベーステーブルがあります。
Table Name: Person
person_id int
first_name varchar(50)
last_name varchar(50)
で、Personというクラスを持っています。
public class Person
{
public int PersonId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
テーブルのカラム名は、クエリの結果から得たデータをマッピングするクラスのプロパティ名とは異なっていることに注意してください。
var sql = @"select top 1 PersonId,FirstName,LastName from Person";
using (var conn = ConnectionFactory.GetConnection())
{
var person = conn.Query<Person>(sql).ToList();
return person;
}
上記のコードでは、カラム名がオブジェクト(Person)のプロパティと一致しないため、動作しません。このシナリオでは、Dapperで手動でマッピングできることはないでしょうか?
person_id => PersonId
というように、オブジェクトのプロパティとカラムの名前を一致させることができますか?
どのように解決するのですか?
これは正常に動作します。
var sql = @"select top 1 person_id PersonId, first_name FirstName, last_name LastName from Person";
using (var conn = ConnectionFactory.GetConnection())
{
var person = conn.Query<Person>(sql).ToList();
return person;
}
Dapperには、このように 列の属性 しかし、私は、依存関係を引き込まないという条件で、サポートを追加することに反対ではありません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン