Я пытаюсь сделать что-то, что должно быть очень простым, но я получаю ошибки, я не знаю, как исправить. Кроме того, я даже не знаю, правильно ли я поступаю.
У меня есть 3 объекта. Мою первую личность зовут Билл, и она моя главная. Два других - это Повтор и Тип. У Билла есть внешние ключи (то есть TypeId), которые указывают на их соответствующие первичные ключи. Тип и Повторить похожи. У них есть свой идентификатор и описание.
Что я пытаюсь сделать с EF и LINQ to Entity: получить все счета со всеми свойствами Билла, но вместо TypeId я хочу TypeDesc.
Это решение N уровня с 3 проектами
Пока что у меня есть уровень данных, который я называю Модель, бизнес-уровень, который я называю BLL, а мою презентацию позже я называю GUI.
namespace BillApp.Model
{
public class BillModel
{
public List<BillType> GetAllBills()
{
using (BillsEntities be = new BillsEntities())
{
var results = from o in be.Bills
.Include("Type")
.Include("Repeat")
select new
{
BillId = o.BillId,
Name = o.Name,
URL = o.URL,
PaymentAmount = o.PaymentAmount,
Balance = o.Balance,
DueDate = o.DueDate,
TypeDesc = o.Type.TypeDesc,
RepeatDesc = o.Repeat.RepeatDesc,
Username = o.UserName
};
return results.ToList();
}
}
}
public class BillType
{
#region Properties
public int BillId { get; set; }
public string Name { get; set; }
public string URL { get; set; }
public decimal PaymentAmount { get; set; }
public decimal Balance { get; set; }
public DateTime DueDate { get; set; }
public string TypeDesc { get; set; }
public string RepeatDesc { get; set; }
public string Username { get; set; }
#endregion
}
}
results возвращает ошибку Не удается неявно преобразовать тип System.Linq.IQueryable<AnonymousType#1>
в System.Collections.Generic.List<BillApp.Model.BillType>
Затем я пытаюсь передать объект в BLL с этим кодом.
namespace BillApp.BLL
{
public class BillBLL
{
public List<BillType> GetAllBills()
{
BillModel b = new BillModel();
return b.GetAllBills();
}
}
}
Но в BillType есть ошибка: не удалось найти тип или имя пространства имен 'BillType' (отсутствует директива using или ссылка на сборку?)
Что мне не хватает? Что я могу сделать лучше?