Мне интересно, возможно ли иметь свойство / поле в классе, который заполняется непосредственно из базы данных. Я знаю, что непосредственная реализация этого нарушит шаблоны проектирования, такие как разделение интересов, но я надеюсь иметь некоторую конфигурацию в функции OnModelCreating
моего DbContext
.
В приведенном ниже примере, учитывая Product
, я бы хотел выяснить, на каком PriceTables
он появляется:
public class PriceTable
{
public int ID { get; set; }
public HashSet<Price> Prices { get; set; }
public PriceTable()
{
Prices = new HashSet<Price>();
}
}
public class Price
{
public int ID { get; set; }
public double Value { get; set; }
public int ProductID { get; set; }
public virtual Product Product { get; set; }
public int PriceTableID { get; set; }
public virtual PriceTable PriceTable { get; set; }
}
public class Product
{
public int ID { get; set; }
public String Name { get; set; }
// This is what I'd like to achieve
/*
public HashSet<PriceTable> PriceTables {
get {
// and here, return something from the DB
}
}
*/
}
Просто чтобы уточнить: моя модель не , как та, что приведена ниже, но она работает таким же образом (так что мне нужно это разделение классов с этой "таблицей соединений").
AFAIK, используя LINQ, я мог найти нужную информацию со следующим:
from p in Prices
where p.Product.ID == MY_PRODUCT_ID
select p.PriceTable
Это означает, что это запрос, который я хотел бы вставить в мой класс Product
!
Заранее спасибо!