0

私は Entity Framework 4.3.1 Code First を使用しており、次のようなものがあります。

class Program
{
    static void Main(string[] args)
    {
        // get LogEntry with id x..
    }
}

public class MyContext : DbContext
{
    public DbSet<Log> Logs { get; set; }
}

public class Log
{
    public int LogId { get; set; }
    public ICollection<LogEntry> LogEntries { get; set; }
}

public class LogEntry
{
    public int LogEntryId { get; set; }
}

整数の LogEntryId を指定して LogEntry オブジェクトを取得する最良の方法は何ですか? Log.LogEntriesプロパティを介さずにエンティティを直接取得することは可能ですか?

4

2 に答える 2

2

コンテキストへの参照がある場合は、

var entry = context.Set<LogEntry>().Find(entryId);
于 2012-08-14T22:34:40.890 に答える
1

コンテキストに DbSet< LogEntry > がない理由はありますか?

もしそうなら、コンテキストから直接ロードすることができます。

public class MyContext : DbContext
{
    public DbSet<Log> Logs { get; set; }
    public DbSet<LogEntry> LogEntries { get; set; }
}

var logEntry = context.LogEntries.SingleOrDefault(le => le.LogEntryId == someLogEntryId);
于 2012-08-14T22:34:39.880 に答える