Ich folge Tutorial von dieser https://mva.microsoft.com/en-us/training-courses/implementing-entity-framework-with-mvc-8931?l=mBKHDFC3_9204984382. Dies ist mein CodeErstellen Sie 2 Primärschlüssel mit EF Fluent API
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; }
}
}
}
Es nehme eine Tabelle in der Datenbank zu erstellen, mit AlbumId
als Primärschlüssel. Aber wenn ich dieses Programm ausführe, ist das Tabellenergebnis nicht das, was ich erwartet habe. Es gibt 2 Primärschlüssel: AlbumId
und Title
. Ich möchte nur AlbumId
als meinen Primärschlüssel. Mache ich etwas falsch?
Können Sie die Tabellenstruktur (SQL) anzeigen? –
Verbinden Sie sich mit einer vorhandenen Datenbank oder erstellen Sie die Datenbank aus Ihrem Code? Weil der Code gut aussieht. – syned
@syned Ich erstelle die Datenbank aus dem Code – Intan