не может определить основной конец ассоциации между
типа PisMark3.Models.Cargo.ContainerIn и
'PisMark3.Models.Cargo.Cargo. Основной конец этой ассоциации
должен быть явно сконфигурирован с использованием любого API-интерфейса
или аннотации данных
Это говорит вам, чтобы определить ваши отношения, потому что он не может понять отношения.
То, что вы ищете, это
Отношение один-к-одному-одному вот ссылка
Это ваша модель,
public class Cargo
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int CargoID { get; set; }//SerialNo
[Required]
public DateTime DateOfPassage { get; set; }
public string CompanyUserName { get; set; }
public virtual ContainerIn CompanyUserNameContainIn { get; set; }
}
public class ContainerIn
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ContainerInID { get; set; }
public int LoadStatus { get; set; }
public int CargoID { get; set; }
public virtual Cargo Cargo { get; set; }
}
Это ваш код API,
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Cargo>()
.HasOptional(s => s.CompanyUserNameContainIn)
.WithRequired(ad => ad.Cargo);
}
Это сообщает объектной структуре, что она имеет необязательное название компании в модели и требуемой модели грузовое в ContainerIn
Подробнее вы можете прочитать по ссылке, которую я предоставил, там есть хороший пример студента и адрес.
EDIT:
Поскольку вы хотите использовать identityDBContext, вы можете изменить свой код, как показано ниже
// You can add profile data for the user by adding more properties to your ApplicationUser class, please visit http://go.microsoft.com/fwlink/?LinkID=317594 to learn more.
public class ApplicationUser : IdentityUser
{
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
{
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
return userIdentity;
}
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public virtual DbSet<Cargo> Cargo { get; set; }
public virtual DbSet<ContainerIn> ContainerIn { get; set; }
public ApplicationDbContext()
: base("DefaultConnection")
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Cargo>()
.HasOptional(s => s.CompanyUserNameContainIn)
.WithRequired(ad => ad.Cargo);
modelBuilder.Entity<IdentityUserLogin>().HasKey<string>(l => l.UserId);
modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id);
modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId, r.UserId });
}
}