Имам проблеми с модела първо в рамката на обектите 6, .net 4.7, визуално студио 2017 ...
Опитвам се да добавя много към 0 ...1 с чужд ключ между две таблици и когато се опитвам да потвърдя модела, получавам грешка, като казвам, че полето с чужди ключове в таблицата не е картографирано. Освен това, дори не мога да добавям нови образувания към модела, тъй като получавам грешка при валидирането, като казвам, че предприятието не е картографирано. Какво е направил, за да се влезе в това състояние? Едва го използвах, за да направя нищо.
Какво да направя, за да го направя, за да правя неща без тези грешки? Знам, че е така, защото не е картографирал нещата, но трябва да направи това автоматично. Цялото нещо изглежда небрежно, като се има предвид варианта 6.
Трябва ли първо да превключа на база данни?
Благодаря ти.
Отговори:
0 за отговор № 1за задаване на връзка много към 0 ... 1 трябва
1) Създавайте модели и добавете свързани лица в моделите
public class MainModel
{
public MainModel()
{
ChildModels= new HashSet<ChildModel>();
}
public int Id { get; set; }
public virtual ICollection<ChildModel> ChildModels{ get; set; }
}
public class ChildModel
{
public int Id { get; set; }
public int? MainModelId { get; set; }
public MainModel MainModel { get; set; }
}
2) Задайте връзка в контекстния клас от FluentApi
modelBuilder.Entity<MainModel>()
.HasMany(mm => mm.ChildModels)
.WithOptional(cm => cm.MainModel )
.HasForeignKey(cm => cm.MainModelId );
В една от тези стъпки може да направите грешка.
Базата данни на първо място е стар подход и не ви съветвам да го използвате.