Entity Framework 4.0 - 我可以通过 WCF 向客户端发送复杂类型吗?
嘿,任何人都可以确认以下场景是否可行:
- 我正在 .NET 4.0 中开发一个 3 层应用程序:Winforms 客户端、aspx 服务器和 SQL 2008 数据库。
- 服务器通过 Entity Framework 4.0 与 SQL 2008 数据库进行通信,并通过 WCF 将实体以 STE 的形式(在单独的程序集中)返回到客户端应用程序。
现在我想在 SQL 服务器上执行一个存储过程,它将返回一个自定义形状的数据格式(而不是与实体的 1:1 映射)。我读到我可以使用复杂类型来保存将返回给我的数据。
现在的问题是:这个复杂类型是否可以通过 WCF 序列化,以便客户端也可以使用它?我想是的,但似乎无法在任何地方找到结束答案,我想在继续编码之前确定一下。
谢谢 !
泰杰
Hey, can anybody confirm the following scenario will work:
- I am developing a 3-tier application in .NET 4.0: Winforms Client, aspx server and SQL 2008 database.
- The server communicates with the SQL 2008 database by means of Entity Framework 4.0, and returns the entities in forms of STE's (in a separate assembly) to the client application over WCF.
Now I want to execute a stored procedure on the SQL server, which will return me a custom shaped dataformat (not a 1:1 mapping with an entity). I read that I could use complex types to hold the data this will return to me.
Now the question: will this complex type be serializable over WCF so the client can work with it too ? I suppose it is, but cannot seem to find a closing answer anywhere, and I wanna be sure before I proceed with my coding.
Thx !
TJ
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
任何可以在 XML 架构中表示的内容都可以序列化,从而使用 WCF 通过网络发送。
这包括所有 .NET 基本基元类型,例如
int
、double
、string
、DateTime
以及从这些类型构建的任何类。例如,无法工作的情况包括:
任何 .NET 细节(如异常、泛型等) - 请记住,WCF 被设计为可互操作,而不仅仅是在两个 .NET 客户端之间
任何具有固有行为的事物(如字典)
Anything that can be represented in an XML Schema can be serialized and thus sent across the wire using WCF.
This includes all .NET basic primitive types like
int
,double
,string
,DateTime
and any classes built from those.Things that won't work are for instance:
any .NET specifics (like Exception, generics, ...) - remember, WCF is designed to be interoperable, not just between two .NET clients
anything with inherent behavior (like a Dictionary)
如果您将复杂类型返回到 wcf 服务,或者返回一个属性之一为复杂类型的实体,则自跟踪实体不会有任何问题。但是,如果您使用 RIA 服务,则不支持复杂类型。
If you return complex types to the wcf service or if you return an entity whose one of the property is of complex type, self tracking entity would have no problems. However if you are using RIA services, the complex types is not supported.