我正在开发WPF客户端应用程序。我从来没有见过任何人在客户端使用ORM。
我在这里对客户端与服务器应用程序中使用ORM进行了一些分析。
默认情况下是Lazy。这意味着,直到查询执行第一次没有任何反应,但在缓存该查询之后。现在这可以在服务器应用程序中理解,但客户端经常启动,所以我可以在客户端应用程序中使用预先加载吗?
如果dll被篡改,黑客是否可以轻松找到数据,因为他可以立即看到所有数据库结构?
在客户端使用ORM时有任何其他影响吗?
谢谢, OMKAR
答案 0 :(得分:2)
1)EF和nhibernate都可以设置为eager 2)nto篡改dll,但两者都有pipline类型的设计,所以代码可以插入pipline - 例如EF / Nhibernate分析器这样做 3)客户端不应该如此不同 - 我们使用EF,服务器/客户端并没有发现差异
答案 1 :(得分:1)
我们正在将它用于我们的富客户端应用程序,并且没有太多问题。你必须改变你的想法 - 但我们真的很喜欢模型类(而不是使用手工制作的sql)。
整个会话管理在一开始就势不可挡,所以我认为你应该从良好的结构开始 - 就像Ayende的文章中所示。我不喜欢这种方法,你可以试试像Dapper这样的“瘦”ORM:http://msdn.microsoft.com/en-us/magazine/ee819139.aspx