Я создаю схему, в которой применяется следующая логика:
- A
String
может принадлежать нескольким местоположениям. - Несколько
Locations
может иметь несколько String
,или нет String
. DateTime
(As DateScraped
), при котором сформировались отношения между Location
и String
, должны быть записаны.
В основномЯ отобразил отношение как отношение многие ко многим , используя соединительную таблицу следующим образом:
Inотображая диаграмму в Code First EF6 (используя SQLite), у меня есть следующие объекты:
public class Location
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long LocationId { get; set; }
[Required]
public string Country { get; set; }
[Required]
public string CityOrProvince { get; set; }
[Required]
public string PlaceOrCity { get; set; }
[Required]
public string PostalCode { get; set; }
}
public class String
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long StringId { get; set; }
[Required]
public string SearchString { get; set; }
}
public class LocationStringMapping
{
[Required]
public string LocationId { get; set; }
[Required]
public string StringId { get; set; }
[Required]
public DateTime DateScraped { get; set; }
}
Я основал то, что я сделал, на предположениях, так как не могу найти какую-то конкретную информацию окак такие отношения должны быть построены.Обычно я использовал бы таблицу соединений, но это в ванильном SQL.Отличается ли реализация в EF?
Мне придется громоздко управлять таблицей LocationStringMapping
вручную или есть какая-то неявная модель отношений, о которой я не знаю?