使用EF Fluent API创建2个主键
我遵循这个https://mva.microsoft.com/en-us/training-courses/implementing-entity-framework-with-mvc-8931?l=mBKHDFC3_9204984382的教程。这是我的代码使用EF Fluent API创建2个主键
namespace FluentAPI {
class Program
{
static void Main(string[] args)
{
using (var context = new MusicContext())
{
var album = new Album() { Price = 9.95m, Title = "YUhuu" };
context.Albums.Add(album);
context.SaveChanges();
}
}
public class Album
{
public int AlbumId { get; set; }
public string Title { get; set; }
public decimal Price { get; set; }
}
public class MusicContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("MusicStore");
modelBuilder.Entity<Album>().HasKey(t => t.AlbumId);
//tell EF to map string into varchar
modelBuilder.Entity<Album>().Property(t => t.Title).IsUnicode(false);
//Album id not going to be identity
modelBuilder.Entity<Album>()
.Property(t => t.AlbumId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
base.OnModelCreating(modelBuilder);
}
public DbSet<Album> Albums { get; set; }
}
}
}
它假设在数据库中创建一个表,用作为主键。但是当我运行这个程序时,表结果并不是我所期望的。有2个主键:和Title
。我只想作为我的主要关键。难道我做错了什么?
回答:
[Key]
在之上缺少注释。
以上是 使用EF Fluent API创建2个主键 的全部内容, 来源链接: utcz.com/qa/257359.html