Я следую уроку из этого https://mva.microsoft.com/en-us/training-courses/implementing-entity-framework-with-mvc-8931?l=mBKHDFC3_9204984382. Это мой кодСоздайте 2 основных ключа, используя API-интерфейс EF Fluent
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; }
}
}
}
Это, предполагают, чтобы создать таблицу в базе данных, с AlbumId
в качестве первичного ключа. Но когда я запускаю эту программу, результат таблицы не тот, который я ожидал. Есть 2 основных ключа: AlbumId
и Title
. Мне просто нужен AlbumId
в качестве основного ключа. Я делаю что-то неправильно?
Вы можете показать структуру таблицы (SQL)? –
Вы подключаетесь к существующей базе данных или создаете базу данных из своего кода? Потому что код выглядит хорошо. – syned
@syned Я создаю базу данных из кода – Intan