0

在 mvc 中,当您使用 sql 使用 Dbset/Dbcontext 时,表在什么时候被查询?Linq 语句正在查询的 List 中的表在什么时候加载?

可以说我有一个模型

public class MRN : DbContext
{
    public MRN()
        : base("DefaultConnection")
    {
    }
    public DbSet<message> MRNS { get; set; }
}
[Table("MRN")]
public class message
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string From { get; set; }
 }

我的控制器就像

public class MRNController : Controller
    {
    private MRN mrn = new MRN(); // Is the linq list loaded here?
    public ActionResult Someaction(){........
    ......}

一种行为

public ActionResult somelinq(int id)
{ 
var k = mrn.MRNS.Find(id); //Is the private variable **mrn** already loaded here or does it loads during the linq statement or does linq queries actual table itself?
 }

有人可以详细说明有关 SQL 表的加载,即实际执行 sql 查询的步骤是什么?

4

1 回答 1

3

您的查询将在您实现IQueryable. 比如打电话的时候.First/Single(OrDefault).ToList()或者foreach就可以了。

于 2013-07-10T17:27:32.580 回答