Silverlight实战示例2(兼集合属性的妙用)--实体的组织(续)

本文详细介绍了动态数据表和行的实现方法,包括如何使用动态数据字段和数据表来构建灵活的数据存储和访问机制。重点阐述了实体组织原则,如简单性、外部依赖最小化、索引器构建等,旨在提供高效、易用的数据处理解决方案。
部署运行你感兴趣的模型镜像
3)数据行DynamicDataRow.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MEntities
{
[Serializable]
public partial class DynamicDataRow
{
public List<DynamicDataField> DataFields { get; private set; }
public DynamicDataRow()
{
DataFields = new List<DynamicDataField>();
}
}

}

共享代码部分:DynamicDataRow.Shared.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MEntities
{
public partial class DynamicDataRow
{
public DynamicDataField this[string FieldName]
{
get
{
DynamicDataField theField = null;
foreach (var fld in DataFields)
{
if (fld.FieldName == FieldName)
{
theField = fld;
break;
}
}
return theField;
}
}
public DynamicDataField this[int Index]
{
get
{
return DataFields[Index];
}
}
}

}

4)数据表:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MEntities
{
[Serializable]
public partial class DynamicDataTable
{
public List<DynamicDataRow> Rows { get; private set; }
public string TableName { get; set; }
public List<DynamicDataColumn> Columns { get; private set; }
public DynamicDataTable()
{
Rows = new List<DynamicDataRow>();
Columns = new List<DynamicDataColumn>();
}
}
}
数据表共享代码部分:DynamicDataTable.Shared.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MEntities
{
public partial class DynamicDataTable
{
public DynamicDataColumn this[string FieldName]
{
get
{
DynamicDataColumn theCol = null;
foreach (var col in Columns)
{
if (col.FieldName == FieldName)
{
theCol = col;
break;
}
}
return theCol;
}
}
public DynamicDataColumn this[int Index]
{
get
{
return Columns[Index];
}
}
}
}

实体的组织原则:

A)尽可能简单,外部程序集依赖应尽可能少,这样任何其它层都可以引用它,也便于穿越通信层,毕竟实体只是数据的载体;
B)索引器无法自动到达客户端,索引器构建主要是为了客户端绑定的时候提供一致的语法和语义;
C)如果实体有继承体系,那么索引器可能无法共享到客户端,这个时候可以直接把代码添加到客户端中即可,注意命名空间要保持与服务器一致。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

内容概要:本文围绕六自由度机械臂的人工神经网络(ANN)设计展开,重点研究了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程,并通过Matlab代码实现相关算法。文章结合理论推导与仿真实践,利用人工神经网络对复杂的非线性关系进行建模与逼近,提升机械臂运动控制的精度与效率。同时涵盖了路径规划中的RRT算法与B样条优化方法,形成从运动学到动力学再到轨迹优化的完整技术链条。; 适合人群:具备一定机器人学、自动控制理论基础,熟悉Matlab编程,从事智能控制、机器人控制、运动学六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)建模等相关方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握机械臂正/逆运动学的数学建模与ANN求解方法;②理解拉格朗日-欧拉法在动力学建模中的应用;③实现基于神经网络的动力学补偿与高精度轨迹跟踪控制;④结合RRT与B样条完成平滑路径规划与优化。; 阅读建议:建议读者结合Matlab代码动手实践,先从运动学建模入手,逐步深入动力学分析与神经网络训练,注重理论推导与仿真实验的结合,以充分理解机械臂控制系统的设计流程与优化策略。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值