使用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

回到顶部