"模型"有什么区别?和"背景"在实体框架术语?
我在应用程序中使用Entity Framework数据库第一种方法。由于我一直在阅读关于EF实施策略的不同论坛和文章,因此这些术语出现了很多次。我似乎无法弄清楚这两者是如何不同的(甚至不仅仅是实体框架,而是一般的软件开发)。人们使用这些词语就好像它们不同,但是有些人似乎可以互换地使用这些词语。
答案 0 :(得分:10)
<强>上下文强>
这很容易。上下文是DbContext
或较旧的ObjectContext
类,它是实体框架数据访问层的核心。它通过强类型的实体集提供透明的数据库访问,跟踪和保存更改,管理数据库事务和连接,并包含许多实用程序方法,以促进各种数据访问任务(尤其是DbContext
)。
<强>模型强>
这可能是两件事(或三件事)。
所以 context 和 model 是两回事。您可能会说上下文是两种不同类型模型之间的中间人。
答案 1 :(得分:3)
松散地说,上下文涉及数据库连接或会话,其中模型是表,视图等与数据访问对象类(即包含数据的对象)之间的映射
答案 2 :(得分:2)
模型是一个类,通常表示显示数据库表的数据库表或结构。例如,如果我有一个汽车数据库,那么汽车模型可以是
public class Car
{
[Key]
public int CarId { get; set; }
public string Make { get; set; }
public string Model { get; set; }
public int Year { get; set; }
}
实体框架和sql提供程序(通常用于mysql或mssql)使用此模型来组成对数据库的查询。查询需要一种方法来映射它,这是上下文的工作。上下文通常扩展DbContext
,并且用于访问数据库表作为内存对象的外观。
public class CarContext : DbContext
{
DbSet<Car> Cars { get; set; }
}