私がしようとしているのは、データベースを1行ずつ読み込み、各行のデータを使用してデータが表す型のオブジェクトを初期化することです。この場合、私はDeviceテーブルの行を読み込み、そのデータを持つDeviceオブジェクトを作成しようとしています。私はこのSO link見た:C#データベースのオブジェクトを直接クラスに読み込む
を、私はこのスニペットを試してみました:
using(var dc = new DataContext(connectionString))
{
List<Person> people = dc.ExecuteQuery(@"
SELECT Id, Name Address
FROM [People]
WHERE [Name] = {0}", name).ToList(); // some LINQ too
}
しかし、それはこの使用のための型引数は、使用状況から
を推測することができない私にを語っています
これは基本的に正しいですか、BondIOシリアライザ/デシリアライザを使用する必要がありますか?前述のようにhere
また、オブジェクトのメンバーの順序は、データベースの列の順序と同じではない場合があります。
その後、同じ日に....
私は次のように定義されたすべての私のデータベースオブジェクトとDBContextを持っている:
public class MyContext : DBContext { public dbSet<Device>{ get; set;} etc... }
そして、私は今、このスニペットを使用してオブジェクトを取得しよう:
using (var db = new MyContext(ConnectionString)) { var res = db.Device.Find(ID); }
は、しかし、これは例外メッセージを与える
は
型」System.Data.Entity.ModelConfiguration.Conventions.AttributeToColumnAnnotationConvention`2を読み込むことができませんでした私は、データベースをチェックして、それは私が合格しています主キーのIDに基づいて、1つの値を返す必要があります。誰も私がまだ間違っていることを何らかのヒントを持っています。
としてそれを使用しかし、私はすでにデバイスクラスを持っている場合、そのメンバーはちょうど持っているあなたのように定義して、なぜ私はすべての列を照会し、まっすぐにロードカントデバイスオブジェクト? – Alan
私はsooryです - 私の答えは間違っています。私はそれを修正しています。 – HGMamaci
ExecuteCommandを意味しますか? DataContext.SqlQueryは存在しないようです.... – Alan