Skip to main content
edited tags
Link
Sampath
  • 66.2k
  • 70
  • 327
  • 461
added 4 characters in body
Source Link
RyeGuy
  • 4.5k
  • 10
  • 36
  • 63
Source Link
RyeGuy
  • 4.5k
  • 10
  • 36
  • 63

ASP.NET add migration 'composite primary key error' how to use fluent API

Hello I am in the process of creating a Web Application and have already installed both the Microsoft.entityFrameworkCore and Microsoft.entityFrameworkCore.Tools.

During the process of executing an add-migration in the package manager console I get an error

"System.InvalidOperationException: Entity type 'Attends' has composite primary key defined with data annotations. To set composite primary key, use fluent API"

Here is my code in the entity folder.

using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Threading.Tasks; namespace _3241_farmDb.Entities { public class Farm { [Required, MaxLength(30)] [Key] public string FarmName { get; set; } [Required, MaxLength(15)] public string FarmCity { get; set; } [Required, MaxLength(9)] public string FarmerSSN { get; set; } } public class Farmer { [Required, MaxLength(9)] [Key] public int SS { get; set; } [Required, MaxLength(9)] public string Fname { get; set; } [Required, MaxLength(15)] public string Lname { get; set; } [Required, MaxLength(15)] public string CityName { get; set; } [Required, MaxLength(15)] public string Address { get; set; } [Required, MaxLength(30)] public string BoardPositionName { get; set; } } public class Child { [Required, MaxLength(9)] [Key] public int FarmerSS { get; set; } [Required, MaxLength(15)] [Key] public string Fname { get; set; } [Required, MaxLength(15)] [Key] public string Lname { get; set; } [Required] public int Age { get; set; } } public class Attends { [Key, Column(Order = 1)] public int FarmerSS { get; set; } [Key, Column(Order = 2)] public int HotelID { get; set; } [Required, MaxLength(15)] public string BoardPosition { get; set; } } public class Livestock { [Required, MaxLength(15)] public int LivestockID { get; set; } [Required, MaxLength(15)] public string LivestockType { get; set; } } public class Farm_Houses { [Required, MaxLength(15)] [Key] public int LivestockID { get; set; } [Required, MaxLength(15)] public string FarmName { get; set; } } public class Crops { [Required, MaxLength(15)] [Key] public int CropID { get; set; } [Required, MaxLength(15)] public string CropName { get; set; } } } 

How do I adjust it to set the composite key properly?