如何指定DbContext使用的表的名称
这是我之前提出的问题的后续问题 。 我的印象是,如果数据库中有多个表,则将使用DbSet
变量的名称来标识该表。
然而,在链接的问题中,很明显DbContext
正在选择Products
表而不是Portfolio
表,即使变量的名称是Portfolio
。 我仍然可以将变量名称更改为任何内容,我仍然可以获取数据。
所以我的问题是DbContext
如何映射表? 我需要在项目中添加更多的表,并且不知道如何使用单个DbContext
对象(或者我应该在同一个数据库中为单独的表使用单独的DbContext
)?
您可以在实体上执行以下操作:
[Table("Portfolio")] public class Product { /* ... */ }
按照惯例,表以多个实体名称命名。
因此,默认情况下, DbSet
将存储/查找名为Products
的表。
看看System.ComponentModel.DataAnnotations.Schema.TableAttribute
。
特别:
[Table("Portfolio")] class Product { public string Foo{get;set;} }
- 在没有第三方框架的情况下从HttpWebResponse反序列化JSON的方法
- 绑定空数据表时的DetailsView错误?
- 从网页中提取数据,解析特定部分并显示它
- ASP.NET 4.5在ASP.NET Core 2.0应用程序下的Azure Web App中作为虚拟应用程序抛出502.5
- 将IEnumerable 转换为int
- 如何使用Foolproof的ModelAwareValidationAttribute进行不显眼的客户端validation
- Int32的价值太大或太小 – Facebook和dotnetopenauth
- 如何检测“保存/打开/取消”对话框中单击了哪个按钮?
- 从ASP.NET网站发送SMS文本消息