作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的数据库模型之上有一个模型,并映射了我的存储库中的对象。
但是,显然,我是直接在 GetUsers 中“选择新的”还是“选择 factoryresult”(如下所示)会有所不同。我在运行时收到错误,即 CreateFromDbModel 方法没有转换为 sql (System.NotSupportedException)。
有没有解决的办法?我能以某种方式修补它吗?
想要使用工厂方法的原因是我可能会在其他地方实例化对象并希望将“映射代码”保留在一个地方......
感谢您的任何评论,
安德斯
public IQueryable<User> GetUsers(bool includeTeams)
{
return from u in _db.sc_Players
where (includeTeams || (!u.aspnet_User.sc_Player.IsTeam))
select UserFactory2.CreateFromDbModel(u);
}
public static User CreateFromDbModel(sc_Player player)
{
return new User
{
Id = player.sc_PlayerID,
FirstName = player.FirstName.Trim(),
LastName = player.LastName.Trim(),
PresentationName = player.FirstName.Trim() + " " + player.LastName.Trim(),
LoginName = player.aspnet_User.LoweredUserName,
IsTeam = player.IsTeam,
Email = player.aspnet_User.aspnet_Membership.Email,
Password = player.aspnet_User.aspnet_Membership.Password
};
}
最佳答案
错误几乎解释了这一切。
“方法 CreateFromDbModel 没有转换为 sql (System.NotSupportedException)”
您的 CreateFromDbModel 方法不是 sql 函数。在对象从服务器明确返回给您之前,您的应用程序将无法运行 CreateFromDbModel 函数。在对它们运行 CreateFromDbModel 之前,您很可能必须在查询中调用 ToList() 或类似的东西。
关于linq-to-sql - 如何在 linq for sql 中使用工厂类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1366373/
我是一名优秀的程序员,十分优秀!