SilverLight4 + WEB SERVICE 解决方案(二) .

8 篇文章 0 订阅
3 篇文章 0 订阅

转自:http://www.cnblogs.com/anncesky/articles/1778061.html

 

解决了跨域访问之后,开始构建WEB SERVICE 端架构

我还是使用传统的三层,外加实体层,因为实体层可以很好的进行默认序列化,不必

自己进行序列化了。

数据层:

   
   
public class ADAL { public DataTable GetData() { DataTable dt = new DataTable(); dt.Columns.Add( " id " , typeof ( int )); dt.Columns.Add( " name " , typeof ( string )); dt.Columns.Add( " sex " , typeof ( bool )); for ( int i = 0 ; i < 10 ; i ++ ) { DataRow dr = dt.NewRow(); dr[ 0 ] = i + 1 ; dr[ 1 ] = (( char )( ' A ' + i)).ToString(); dr[ 2 ] = i % 2 == 0 ? true : false ; dt.Rows.Add(dr); } return dt; } }

 

业务逻辑层:

 

   
   
public class ABLL { public List < AModel > GetData() { DataTable dt = new ADAL().GetData(); List < AModel > list = new List < AModel > (); // DataConvter.TableToList(dt, list); AModel mTemp; foreach (DataRow dr in dt.Rows) { mTemp = new AModel(); mTemp.id = ( int )dr.ItemArray[ 0 ]; mTemp.name = ( string )dr.ItemArray[ 1 ]; mTemp.sex = ( bool )dr.ItemArray[ 2 ]; list.Add(mTemp); } return list; } }

 

实体层:

 

   
   
public class AModel { public int id { get ; set ; } public string name { get ; set ; } public bool sex { get ; set ; } }

 

 

这三层中,只有业务逻辑层,有点跟平时不太一样,就是加了一个从DataTable类型转成List<Model>类型

因为,虽然DataTable支持序列化,也带有[SerializableAttribute]属性,但在SL端,虽然可以,但并不

太容易获取数据,而List<Model>到SL端可以很容易获得数据,只是把它转换成 Model[] 组数类型了。

 

一些列表控件的绑定数据源只要求是 IEnumerable 类型就可以了,所以无论是 组数、List、 List<Model>

类型都能够胜任。下一篇 简化业务逻辑层的数据类型转换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值