在设计我的应用程序时,我一直在尝试使用模型优先方法。我们通常喜欢在较大的数据库中为我们的表添加前缀,以便更容易找到内容。例如:
到目前为止,我设置的课程看起来像这样。
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表?我在搜索中没有看到澄清这一点。
作为第二个问题,我是否必须手动创建表格?
答案 0 :(得分:3)
答案 1 :(得分:1)
你可以这样使用System.ComponentModel.DataAnnotations
:
[Table("tblUser")]
public class User
{
public int ID { get; set; }
public string Name { get; set; }
}
或者使用EF 4,你可以覆盖OnModelCreating方法来映射你的表,这是非常强大的,因为你可以一次映射和调整很多东西。
public class MyContext: DbContext
{
DbSet<User> Users { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().MapSingleType().ToTable("tblUser");
}
}
有关详细信息,请参阅: