Есть две таблицы
public partial class Tax
{
public int id { get; set; }
public string name { get; set; }
public int category { get; set; }
public string property { get; set; }
public decimal price { get; set; }
public virtual Category Category1 { get; set; }
}
public partial class Category
{
public int id { get; set; }
public string title { get; set; }
public virtual ICollection<Tax> Tax { get; set; }
}
Есть метод который должен вывести таблицу Tax join Category, то есть заместо id.Category должен быть title.Category. Запрос выглядит таким образом.
public IEnumerable<Tax> GetAllTax()
{
var res = from p in dbentities.Tax
join c in dbentities.Category on p.category equals c.id
select new { p.name, c.title, p.property, p.price };
return res.ToList();
}
Но студия ругается на анонимные типы, как лучше преобразовать метод?
Ошибка CS0266 Не удается неявно преобразовать тип "System.Collections.Generic.List<>" в "System.Collections.Generic.IEnumerable".
Нельзя возвращать анонимный тип.
var res = from p in dbentities.Tax
join c in dbentities.Category on p.category equals c.id
select new { p.name, c.title, p.property, p.price }; // ошибка
Надо определить какой-то новый модель создать 'Result/Query object'.
class TaxQueryModel
{
public string Name { get; set; }
public string Title { get; set; }
public string Property { get; set; }
public decimal Price { get; set; }
}
public IEnumerable<TaxQueryModel> GetAllTax()
{
var res = from p in dbentities.Tax
join c in dbentities.Category on p.category equals c.id
select new TaxQueryModel
{
Name = p.name, Title = c.title, Property = p.property,
Price = p.price
};
return res;
}
можно и так но в дальнейшем это проблема (и в Entity Framework тоже).
public partial class Tax
{
public int id { get; set; }
public string name { get; set; }
public int category { get; set; }
public string property { get; set; }
public decimal price { get; set; }
public string title { get; set; } // добавил
public virtual Category Category1 { get; set; }
}
public IEnumerable<Tax> GetAllTax()
{
var res = from p in dbentities.Tax
join c in dbentities.Category on p.category equals c.id
select new Tax
{
name = p.name, title = c.title, property = p.property,
price = p.price
};
return res;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Добрый день, я только начал изучать c#(windows form application) и тут же возник вопрос как работать с базами данных и и отображением данных из них(кастомизация...
Хочу отсортировать юзеров по алфавиту через sortUsers function, но в приоритете должен выступить массив "usersPrioritated" - то есть, результат должен быть...