我有一个定义了对象的类库,我将在应用程序中使用它。在一个单独的类库中,我有我的Entity Framework对象模型,我在其中添加一个函数import,选择我的存储过程,并生成一个复杂类型。而不是生成复杂类型,有没有办法将它指向我在其他类库中定义的对象?从本质上讲,我希望我的对象都在一个单独的库中而不是我的数据访问层。我是否需要编写自己的映射逻辑?
注意,这是我的第一次EF尝试。我想你可以说我正在使用代码优先方法。我正在构建我想要使用的对象(POCO),它们位于自己的类库中(我的对象模型)。在一个单独的类库中,我使用EF并公开接受或返回对象模型中的类的方法,可以通过我的应用程序(数据访问层)调用。
在我的数据库中,我有一组存储过程。存储过程是我的数据访问层与数据库交互的唯一方式。
在我的数据访问层中,我创建了一个edmx文件,并将函数导入添加到edmx文件中。 edmx实体容器访问设置为internal,因此它不会暴露在类库之外。相反,我有一个公共类,可以通过我的应用程序调用公共方法。这些方法使calles到对象上下文类来触发存储过程,并从我的对象模型返回对象。这里的目的是我只使用实体框架来处理存储过程调用。实质上,数据访问技术完全隐藏在应用程序之外。应用程序只知道如何调用从我的数据访问库中公开的特定函数,并处理在我的对象模型中公开的对象。显然,我可以编写将edmx中定义的复杂类型转换为我的对象模型中的类型的代码,但我只是想知道是否有任何方法可以避免自己编写代码,而只是让EF使用我的对象模型而不是复杂的类型...