【发布时间】:2015-07-02 00:31:21
【问题描述】:
我正在将 .edmx 创建到我的 MVC 项目中。我已经映射了两个从数据库返回电影信息的过程。
第一个过程 getMoviesByName 只返回 Id 和 Name。第二个过程,即 getAllMovies,返回 Id、Name 和 CreatedDate。
我希望这两个程序都将数据作为一个名为 Movie 的 ComplexType 返回。
我正在实例化我的 MyDbEntities 并尝试根据以下示例中的条件使用这两个过程,但是当变量 isLookingByName 为 true 时它会失败并显示以下消息:
类型的成员“CreatedDate”在数据读取器中没有同名的对应列。
例子:
var db = new MyDbEntities();
if(isLookingByName)
{
return db.getMoviesByName(name).ToList();
}
return db.getAllMovies().ToList();
因此,只要条件为真,它就会抛出该异常。问题是我无法更改第一个程序以添加CreatedDate。
只是为了让你们知道,在我的视图中,我显示了所有这三个信息 Id、Name 和 CreatedDate。当 CreatedDate 为 null 时,它不会显示,我对此很好。
有人知道我应该怎么做吗?
非常感谢!
【问题讨论】:
-
所以即使 createDate 为 NULL 也无法包含它
-
这两个程序都没有别的选择吗?除了 ComplexType 或解决方法之外的其他类型?我可以映射到两个 ComplexType,然后将它们变成一个模型吗?
-
这是 EDMX 的一个限制,它会为 objectresult 创建所有这些 xml 字段,如果您不能返回相同的字段,那么解决方法是使用直接 ADO.NET
-
能否给我一个链接来学习如何直接使用 ADO.NET ?
标签: c# asp.net asp.net-mvc edmx