亚音速,SimpleRepository和实体接口
-
20-09-2019 - |
题
首先,我想道歉,我的英语不是我最强壮的一侧。
这一问题。在我的前项目时,我已接到我的实体所以我可以使用的亚音速的属性,在我的头或实体的名单,我希望能够无缝地开关O/R器的未来。无论如何,我得到一个错误,当我试着用我的接口和SimpleRepositorys类似单<>,所有的<>。我知道为什么我会得到错误的消息,但我需要帮助来找到一种方法绕过它。错误信息:
系统。InvalidCastException:无法去投类型的对象'亚音速。DomainObjects.用户'type'核心。DomainObjects.IUser'.
代码:
public IUser FindById(int id) {
var user = _repository.Single<User>(x => x.Id == id);
return (IUser)user;
}
正如你可以看到,我们试图使用户IUser了工作时,我要添加数据,但没有成功。我能做些什么,以使这项工作?
谢谢你,
Timmie
解决方案
我不认为是亚音速的问题,在这种情况。这个代码会的工作:
namespace Core.Objects
{
public interface ICustomer
{
int CustomerID { get; set; }
string Name { get; set; }
}
}
代码的实际类:
namespace Business.Entities
{
public class Customer: Core.Objects.ICustomer
{
public int CustomerID { get; set; }
[SubSonicStringLength(50)]
public string Name { get; set; }
}
}
最后,能得到顾客:
private static ICustomer CustomerByID(int id)
{
var repos = new SimpleRepository("Test", SimpleRepositoryOptions.None);
var customer = repos.Single<Customer>(c => c.CustomerID == id);
return (ICustomer) customer;
}
不隶属于 StackOverflow