c# - 不同的模型从同一数据库的不同表中获取数据 ASP.NET MVC 4

标签 c# asp.net sql-server asp.net-mvc asp.net-mvc-4

我正在做有关微软电影的教程来学习ASP.NET MVC4。如果可能的话,我想要更多信息。

我现在的页面是http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-model .

它说要在电影类中添加这个类

public class MovieDBContext : DbContext
{
    public DbSet<Movie> Movies { get; set; }
}

然后创建一个新的连接字符串

  <add name="MovieDBContext" 
       connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
       providerName="System.Data.SqlClient" 
  /> 

这是为了获取电影信息。

但是我的问题如下。例如,如果我们在数据库中有两张表,一张用于电影,一张用于 Actor 。我们想要获取这两个表的数据,我们应该创建两个不同的模型,对吧?但我们只会使用一个数据库(连接字符串)。那么,我们如何才能说 Actor 模型将从类型转换中获取数据,电影模型从电影表中获取数据,但两者具有相同的连接字符串?

编辑:

假设在创建项目之前我已经有了两个数据库表。那么我如何让我的模型指向它们呢?

最佳答案

创建数据库时,会添加元数据,并且 EntityFramework 知道每个模型要引用哪个表。连接字符串是相同的,因为一个数据库中有两个表,连接字符串是数据库级别的连接信息,而不是从表数据到模型的转换。

本质上,代码首先的基础知识是一个模型 = 一个表。您可以执行诸如外键关系之类的操作,因此如果您的 Actor 模型引用电影,也会创建底层数据结构来匹配。

编辑:如果您对创建 DBContext 的方式感到困惑,您可以创建一个包含两种 DBSet 类型的 DBContext 类,并且仅使用一个连接字符串,例如:

public class ApplicationDBContext : DbContext
{
    public DbSet<Movie> Movies { get; set; }
    public DBSet<Actor> Actors { get; set; }
}

关于c# - 不同的模型从同一数据库的不同表中获取数据 ASP.NET MVC 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21272033/

相关文章:

sql-server - 如何在 SQL Server 中快速实现 TOP 查询?

c# - 自定义类对象列表中的多个 .Contains(...)

c# - 使用 itextsharp 将 HTML 转换为 PDF

c# - Asp.Net SQL 更新语句

sql - 选择多个值作为一列,而不是每个值一列,SQL Server

sql - 在 UPDATE 语句中有条件地设置值

c# - 如何通过正则表达式验证mvc中的CNIC号

c# - 选择 WebClient 传出 IP

c# - “隐式”垃圾收集不会减少内存占用。 GC.Collect() 确实

c# - 在 C# 中输出一个被操作的 QueryString