这是来自my earlier question的回复问题。我的印象是,如果数据库中有多个表,则DbSet
变量的名称将用于标识表。
然而,在链接的问题中,很明显DbContext
正在选择Products
表而不是Portfolio
表,即使变量的名称是Portfolio
。我仍然可以将变量名称更改为任何内容,我仍然可以获取数据。
所以我的问题是DbContext
如何映射表格?我需要在项目中添加更多表,并且不知道如何使用单个DbContext
对象(或者我应该对同一数据库中的单独表使用单独的DbContext
)?
答案 0 :(得分:12)
您可以在实体上执行以下操作:
[Table("Portfolio")]
public class Product { /* ... */ }
按照惯例,该表以复数实体名称命名
因此,默认情况下,DbSet<Product>
将存储/查找名为Products
的表。
答案 1 :(得分:3)
看看System.ComponentModel.DataAnnotations.Schema.TableAttribute
。
具体做法是:
[Table("Portfolio")]
class Product
{
public string Foo{get;set;}
}