实体框架6执行策略

时间:2015-07-16 07:23:51

标签: c# entity-framework sql-server-2008

我使用EF6和存储过程,根据某些条件返回2表。 为了转换为类,我们创建了扩展方法

public static IEnumerable<T> Translate<T>(this DataBase database, DbDataReader reader)
    {
        var result = ((IObjectContextAdapter) database).ObjectContext
            .Translate<T>(reader).ToList();
        reader.NextResult();
        return result;
    }

但是在那种情况下,如果类不是表格,那么EF也不会抛出异常 我们不会抛出异常,他创建了具有空值的类。

调用代码ex

 using (var db = new DataBase())
        {
        db.Database.Initialize(true);
        var cmd = db.Database.Connection.CreateCommand();
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = "GetStudent";
        db.Database.Connection.Open();
        var reader = cmd.ExecuteReader();
            var studentList = db.Translate<Student>(reader);
        }

0 个答案:

没有答案