将 EF 4.1 代码优先模型映射到数据库表
在设计我的应用程序时,我一直在尝试模型优先的方法。我们通常喜欢在较大数据库中的表中添加前缀,以便更容易找到内容。例如:
- sc_ = 购物车表
- wb_ = 水费账单表
- ea_ = 就业申请表
到目前为止,我设置的课程看起来像这样。
public class EFDbContext : DbContext
{
public DbSet<Transaction> Transactions { get; set; }
public DbSet<TransactionItem> TransactionItems { get; set; }
public DbSet<Response> Response { get; set; }
}
Web.config(当前设置用于本地数据库测试):
<add name="EFDbContext" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=database" providerName="System.Data.SqlClient"/>
我需要更改什么才能将 Transaction 对象链接到 sc_Transactions 表?我在搜索中没有看到可以澄清这一点的内容。
第二个问题,我是否必须手动创建表?
I have been trying the model-first method when designing my application. We usually like to add a prefix to our tables in larger databases so it is easier to find stuff. For example:
- sc_ = Shopping cart tables
- wb_ = Water billing tables
- ea_ = Employment Application tables
The class I have setup looks like this so far.
public class EFDbContext : DbContext
{
public DbSet<Transaction> Transactions { get; set; }
public DbSet<TransactionItem> TransactionItems { get; set; }
public DbSet<Response> Response { get; set; }
}
Web.config (set currently for local database testing):
<add name="EFDbContext" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=SSPI;Initial Catalog=database" providerName="System.Data.SqlClient"/>
What do I need to change so that the Transaction object gets linked to the sc_Transactions table? I haven't seen in my searching that clarifies this.
As a second question, do I have to manually create my tables?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以在
EFDbContext
类中重写DbContext
中的OnModelCreating
方法:请参阅这篇文章了解更多信息。
You can override the
OnModelCreating
method fromDbContext
in yourEFDbContext
class:See this post for more info.
您可以像这样使用 System.ComponentModel.DataAnnotations :
或者使用 EF 4,您可以重写 OnModelCreating 方法来映射表,这是非常强大的功能,因为您可以一次映射和调整许多内容。
有关详细信息,请参阅:
15分钟左右)
You can use
System.ComponentModel.DataAnnotations
like so:Or with EF 4 you can override the OnModelCreating method to map your tables, which is quite powerful thing as you can map and adjust many things at once.
For more info see:
15 min or so)