1(mvc3)我已经将一个存储过程添加到我的模型中,映射到ComplextType。
两个问题:
1)ComplextType.cs存在于Model1.tt下的类中但是没有出现在.edmx中? 2)当我尝试使用ComplexType.cs创建具有强类型视图的控制器时,它会错误地指出它无法创建,因为ComplextType.cs不是DbContextEntities类的一部分?
如何将这个复杂类型添加到.edmx并映射到我的dbcontext(我已经使用表格完成了这个但是不确定存储过程中缺少什么?
谢谢!
对于那些刚从谷歌来到这里的人,:)我将给出基本上要做的事情,将存储过程映射到ADO.Net实体。
将数据库映射到EDMX文件(实体模型)时,实体模型会自动映射表和表以及复杂类型等。但是,数据库中创建的存储过程不会使用返回复杂类型进行映射。我们必须通过创建自己的复杂类型将它映射到Function导入中。可以在代码中访问此复杂类型。
这样做如下:
应该是一件应该访问设计或模型视图以更新实体模型。只需单击实体模型即可更新实体模型。仅在模型浏览器和数据库设计图中提供更新模型的选项。此模型浏览器可以从VS2010 / VS2012中的其他视图窗口中获取。这些信息似乎很无聊。相信我,如果你是新手,这些在开始时似乎很大。
很可能您将通过映射现有数据库来创建此实体模型。
请记住,即使您从数据库映射实体模型,您也可以通过删除不必要的实体(表)并创建复杂类型来自定义实体模型