现在开始准备生成CSLA的代码for silverlight了
打开之前创建的项目"akini.Data"项目中的"SSO.edmx"
点击空白处 在属性窗口 如下图:
在属性窗口多了6个有关于CSLA的属性 若发现无此类属性 请参见之前章节
现在说说这几个属性
CSLA BL NAMESPACE:自动生成代码时 业务逻辑层的名称空间.(添加服务器端业务逻辑的名称空间)
CSLA DAL NAMESPACE:数据访问层的名称空间.(填写此edmx的名称空间)
CSLA GENERATE EQUALS:是否生成equals.(大家保持默认吧)
CSLA MULTIPLE FILES OUTPUT:多文件输出.(如果是为silverlight生成,选择"CommonAndServerCodeForEachClass")
CSLA TRANSACTION TYPE:事务类型(默认)
CSLA USE NULLABLE TYPES:是否使用null类型,选择yes
设置完属性如下图:
再在模型选中"sso_pst"这个表 查看属性窗口 并填写相关CSLA属性,如图
再来说明下几个属性
CSLA CLASS NAMESPACE:此类的名称空间.(应该与BL的名称空间一致)
CSLA CLASS TEMPLATE:这是和CSLA相关的基础知识了,根据业务对象的作用来设置此属性
包括:可编辑根,可编辑根集合,编辑子,可编辑子集合,只读根,只读根集合,只读子,只读子集合
具体作用和行为去看资料或者谷歌一下 我在这就不多做解释
如果不清楚就先选择"editablerootlist"吧
CSLA COLLECTION NAME:集合的类名称.
CSLA GENERATE EQUALS:是否生成equals.(大家保持默认吧)
CSLA ITEM NAME:类名称.
这里要说明下:如果选择为集合类型时,会自动生成2个类文件,一个为业务对象本身,一个为业务集合对象
所以CSLA ITEM NAME 和 CSLA COLLECTION NAME 不能一样
接下来 再选中表"sso_pst"的"pst"字段 并设置相关属性 如下图:
说下属性
CSLA FRIENDLY NAME:友好名称.(具体作用参见CSLA解释)
另外3个我就不解释了 应该好懂吧
接着 设置"pwd"的属性 如下图:
另外还要补充点"最大长度"按照数据库设计填写,因为在自动生成代码时,会添加长度的验证规则
保存模型,打开"akini.Biz"项目,并添加文件夹"SSO"
右键点击添加的文件夹"SSO"选择"添加新项", 来添加"CslaExtension"模板 并取名"SSO" 如图:
在下面的对话框中点击"open edmx file" 如图
浏览到 刚才编辑过的"akini.Data"项目中"SSO"文件夹下的"SSO.EDMX"
那么在项目"akini.Biz"中就自动添加CSLA的代码,如图:
大家可以浏览下代码 并编译
本题系列如下:
已修改成为使用mssql 方便大家调试
如有疑问或者提问 请留言 或者加入QQ群:73585592