none
有人用WCF结合ORM搭建开发框架的吗? RRS feed

  • 问题

  • 传递实体类这部分是怎么处理的?总不能每个服务要用到的实体类,都重新定义一遍吧!
    2009年9月10日 8:15

答案

  • 单纯的用 [Serializable]  性能很差   全都是反射  而且有循环引用造成重复数据的可能
    同时用  ISerializable  虽然能解决性能问题  但是对象不大可能跨平台  因为不能生成关于实体的描述

    目前建议用  DataContract  DataMember   配合json   数据小 速度快


    恭喜自己5星用户达成
    2009年9月15日 5:28

全部回复

  •  一般可以把orm单独建立一个 class lib 

    服务器和客户端都引用这个lib (当然数据库没有访问数据库的string)

    这样wcf可以在客户端直接生成对应的实体类 而不需要重新定义 ,或者自动生成代码


    恭喜自己5星用户达成
    2009年9月10日 8:37
  • 客户端传递一个实体类到服务端,服务端能认吗?
    这个需要自定义类型服务端才能认吧!
    2009年9月10日 8:41
  • 我的意思是  orm所在的工程定义的实体
    如果两边都有引用的话  
    那C/S双方都有这个实体类的定义   互相都认


    恭喜自己5星用户达成
    2009年9月10日 9:08
  • 这个办法可行,但是实体类都要加[DataContract]标记,属性上要加[DataMember]标记。
    否则传递实体类会报错的,无法序列化类型。
    如果生成实体类的时候可以自动加上还行,不然手工加累死了!

    2009年9月10日 9:34
  • 这个办法可行,但是实体类都要加[DataContract]标记,属性上要加[DataMember]标记。
    否则传递实体类会报错的,无法序列化类型。
    如果生成实体类的时候可以自动加上还行,不然手工加累死了!


    我对ORM不熟悉,
       这个需求如何定义。
    但是所谓的WCF客户端和服务端同时引用一个程序集类库的做法是不妥的。
       显然违背了WCF面向服务的基本原则。
       紧密耦合。而且这样也只能限制在WCF客户端和服务端交互。
    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的中文技术博客:Welcome to My Chinese Technical Blog
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum
    2009年9月10日 16:17
    版主
  • 我也知道WCF客户端和服务端同时引用一个程序集类库的做法是不妥,
    可是客户端需要向服务端传递实体类啊。

    2009年9月11日 6:58
  • 这个办法可行,但是实体类都要加[DataContract]标记,属性上要加[DataMember]标记。
    否则传递实体类会报错的,无法序列化类型。
    如果生成实体类的时候可以自动加上还行,不然手工加累死了!


    正常的 linq 2 sql 和 Entity framework产生的实体类都支持 但是 NH 和 Spring.net就不清楚了

    恭喜自己5星用户达成
    2009年9月11日 8:12
  • 这个办法可行,但是实体类都要加[DataContract]标记,属性上要加[DataMember]标记。
    否则传递实体类会报错的,无法序列化类型。
    如果生成实体类的时候可以自动加上还行,不然手工加累死了!


    我对ORM不熟悉,
       这个需求如何定义。
    但是所谓的WCF客户端和服务端同时引用一个程序集类库的做法是不妥的。
       显然违背了WCF面向服务的基本原则。
       紧密耦合。而且这样也只能限制在WCF客户端和服务端交互。
    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
    欢迎访问老徐的中文技术博客:Welcome to My Chinese Technical Blog
    欢迎访问微软WCF中文技术论坛:Welcome to Microsoft Chinese WCF Forum
    欢迎访问微软WCF英文技术论坛:Welcome to Microsoft English WCF Forum

    等wcf 支持面向接口的datacontract再说吧  先天就出问题让人怎么办
    恭喜自己5星用户达成
    2009年9月11日 8:13
  • 使用LINQ+WCF。
    对于实体类的问题我就是在上面加相关的特性。要不就得用 Entity Framework。
    .NET SP1 的ORM这方面虽然做的比较不错了,易用性很强,拖拖拽拽即可。但有的时候需要自己定制或修改某些东西就费姥姥尽了。
    个人认为还未到成熟阶段,不能应对实际开发中的频繁的变。
    做最好的自己
    2009年9月11日 15:25
  • lz您好,有个思路没实验过,您参考一下看能否可行。
    单独设计一个数据协议类,里面只包含一个Object属性。
    每次传送时,传递这个协议类的实例,把模型实例赋给Object属性。
    这样我估计模型本身也需要支持可序列化,为模型增加[Serializable]特性。
    试试看,有结果别忘了来分享。
    2009年9月12日 7:26
  • 单纯的用 [Serializable]  性能很差   全都是反射  而且有循环引用造成重复数据的可能
    同时用  ISerializable  虽然能解决性能问题  但是对象不大可能跨平台  因为不能生成关于实体的描述

    目前建议用  DataContract  DataMember   配合json   数据小 速度快


    恭喜自己5星用户达成
    2009年9月15日 5:28
  • json没用过,我打算用subsonic。感觉挺好的,需要配置文件特别少!
    2009年9月21日 7:27