2015-04-17 114 views
0

我在2个不同的解决方案中共享实体时遇到问题。 我有一个实体(Country),我需要2个解决方案。一个解决方案是一个Web应用程序,另一个是控制台应用程序,但我需要这个实体。我可以在解决方案之间共享实体吗?

此外,我们正在进行迁移,并且我不知道在这种情况下,如果我为每个解决方案两次更改实体,那么代码的行为首先是什么。

可以先在实体框架6代码中的解决方案之间共享实体吗?

+0

分享是什么意思? –

+3

是的,把你的实体放在一个类库中,并在Web和控制台应用程序中引用它。事实上,我会建议将其作为最佳做法。 – DavidG

+0

@DavidG谢谢你的回答,我试图避免分解代码,我喜欢先把它分开,但这是不可能的。如果没有其他解决方案,我会分解它,但我想先探索其他选项(如果存在) –

回答

1

如果我理解正确,您希望使用包含在项目中的实体并将其用于web项目和控制台项目中。你可以通过从你需要的地方引用你的实体项目的输出dll来做到这一点。

在你的情况下,你应该在consoleapplication项目上添加对entities.dll的引用,在webapplication项目中添加另一个对象。

就我个人而言,我会在同一解决方案中的所有项目,并参考我需要的每个项目。但是可以按照你的方式去做。

+0

感谢您的答案@宁林,但我有我的基础设施在一个项目,我不能分享,因为包含更多模块与其他功能分离在文件夹中。我想复制我的实体,但我不知道我是否可以。 如果我不能,那么我会像你说的那样为我的数据库创建一个项目。 再次感谢您的回答! –

+0

噢好吧。据我所知(这不是很广泛),我看到的唯一解决方案是将实体复制到要使用它的项目上。缺点是,只要你改变你的模型,你将不得不反映双方的变化。或者你可以实现一个接口作为实体的合同,这样你就可以更容易地管理变更。我不知道这是否会破坏你的代码第一次迁移,但我相信它不会。 – Ninglin

相关问题