私はこのアイデアを数日間してきましたが、これがうまくいくかどうかを明確に示す根拠は見つかりませんでした。LinqPad + EF 4.1 + SQL Server CE
LinqPadクエリを使用して、SQL Server CEがクエリと同じディレクトリにある(おそらくクエリと同じ名前の)EF 4.1コードファーストデータベースを作成します。この理由は、後の処理のために照会結果を保管するためのデータベースを迅速にセットアップするためです。
アイデアは(これらは、最新のベータクエリで次に
public class User
{
public long Id { get; set; }
public string Name{ get; set; }
}
public class MyDBContext : DbContext
{
// note the overloaded constructor
// just pass in the LinqPad UserQuery connection
public MyDBContext(DbConnection connection) : base(connection, true)
{}
public DbSet<User> Users { get; set; }
}
で動作しますつまり、クエリでクラス定義を格納することです:私はEntityFramework 4.2を参照してきた
#define NONEST
public Main()
{
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyDBContext>());
// pass in the current database connection to point EF to the right database
var context = new MyDBContext(this.Connection);
context.Users.Add(new User(){Name = "Test User"});
context.SaveChanges();
context.Users.Dump("Contents of Users table");
}
.0.0 LinqPadで、しかし私のクエリでは、私はSystem.Data.Entity
名前空間を見ることができません。これは他の問題を示していますか?
私はenoug h文脈や情報が必要な場合は、私に知らせてください。これはできますか? LinqPadはこれをまだサポートしていませんか?
更新:
EFがLinqPadクエリ定義されたクラスがあり、まさにである、入れ子になったクラスをマッピングすることはできませんことが表示されます。私はこの文脈ではあまり経験はありませんが、私は打ちのめされたようです。 Joe Albahariがネストされていないユーザークラスをどうにかして実装できない限り、これは動作しないように見えます。誰でもアイデアはありますか?
最終更新日:latest betaを使用して
、これは完全に動作します。あらかじめ.sdf
データベースファイルを作成する必要がありますが、それ以外の操作はすべて有効です。とてもかっこいい。ありがとうジョーアルバハリ!その後、
私はまだ何が起こったのかは分かりませんが、EF dllと名前空間の問題を解決できました。私は現在、クエリレベルのクラスをEFコードファーストでうまく使用できるように取り組んでいます。 – llaughlin
私はあなたに未ネストクラスを定義させるビルドをしようとしています。お待ちください... –