十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
下面看一个例子:

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站建设、东源网络推广、成都小程序开发、东源网络营销、东源企业策划、东源品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供东源建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
现在有一个用户信息的表:E-R图如下:
要实现该表的数据库新增、修改、查询功能,需要实现下面两个业务类:
- using Csla;
 - using IF.CslaCore;
 - using IF.OrmCore.DataSchema;
 - using System;
 - using System.Collections.Generic;
 - using System.ComponentModel;
 - using System.Linq;
 - using System.Text;
 - using System.Threading.Tasks;
 - namespace IF.SysUser.Business
 - {
 - [Serializable]
 - [TableClass(FriendlyName="用户信息表",TableName="SYS_USER")]
 - public class SysUser : IfBusiness
 - {
 - private static readonly PropertyInfo
 SUR_IDProperty = RegisterProperty (c => c.SUR_ID); - [DisplayName("SUR_ID")]
 - [FieldDescription(IsPrimaryKey=true,ColumnName="SUR_ID",FriendlyName="SUR_ID",NeedUpdate=true)]
 - public string SUR_ID { get; set; }
 - private static readonly PropertyInfo
 UserNameProperty = RegisterProperty (c => c.UserName); - [DisplayName("登录名")]
 - [FieldDescription(ColumnName="SUR_USERNAME",FriendlyName="登录名",NeedUpdate=true)]
 - public string UserName { get; set; }
 - private static readonly PropertyInfo
 NameProperty = RegisterProperty (c => c.Name); - [DisplayName("姓名")]
 - [FieldDescription(ColumnName="SUR_NAME",FriendlyName="姓名",NeedUpdate=true)]
 - public string Name { get; set; }
 - private static readonly PropertyInfo
 PasswordProperty = RegisterProperty (c => c.Password); - [DisplayName("密码")]
 - [FieldDescription(ColumnName="SUR_PASSWORD",FriendlyName="密码",NeedUpdate=true)]
 - public string Password { get; set; }
 - private static readonly PropertyInfo
 LoginMacProperty = RegisterProperty (c => c.LoginMac); - [DisplayName("登录Mac地址")]
 - [FieldDescription(ColumnName="SUR_LOGIN_MAC",FriendlyName="登录Mac地址",NeedUpdate=true)]
 - public string LoginMac { get; set; }
 - private static readonly PropertyInfo
 LoginIPProperty = RegisterProperty (c => c.LoginIP); - [DisplayName("登录IP")]
 - [FieldDescription(ColumnName="SUR_LOGIN_IP",FriendlyName="登录IP",NeedUpdate=true)]
 - public string LoginIP { get; set; }
 - private static readonly PropertyInfo
 LoginTimeProperty = RegisterProperty (c => c.LoginTime); - [DisplayName("登录时间")]
 - [FieldDescription(ColumnName="SUR_LOGIN_TIME",FriendlyName="登录时间",NeedUpdate=true)]
 - public DateTime? LoginTime { get; set; }
 - private static readonly PropertyInfo
 LogoutTimeProperty = RegisterProperty (c => c.LogoutTime); - [DisplayName("登出时间")]
 - [FieldDescription(ColumnName="SUR_LOGOUT_TIME",FriendlyName="登出时间",NeedUpdate=true)]
 - public DateTime? LogoutTime { get; set; }
 - private static readonly PropertyInfo
 LoginFailTimeProperty = RegisterProperty (c => c.LoginFailTime); - [DisplayName("登录失败时间")]
 - [FieldDescription(ColumnName="SUR_LOGIN_FAIL_TIME",FriendlyName="登录失败时间",NeedUpdate=true)]
 - public DateTime? LoginFailTime { get; set; }
 - private static readonly PropertyInfo
 LoginFailCountProperty = RegisterProperty (c => c.LoginFailCount); - [DisplayName("登录失败次数")]
 - [FieldDescription(ColumnName="SUR_LOGIN_FAIL_COUNT",FriendlyName="登录失败次数",NeedUpdate=true)]
 - public Int32? LoginFailCount { get; set; }
 - private static readonly PropertyInfo
 LockFGProperty = RegisterProperty (c => c.LockFG); - [DisplayName("是否锁定")]
 - [FieldDescription(ColumnName="SUR_LOCK_FG",FriendlyName="是否锁定",NeedUpdate=true)]
 - public bool? LockFG { get; set; }
 - private static readonly PropertyInfo
 DisableFGProperty = RegisterProperty (c => c.DisableFG); - [DisplayName("是否有效")]
 - [FieldDescription(ColumnName="SUR_DISABLE_FG",FriendlyName="是否有效",NeedUpdate=true)]
 - public bool? DisableFG { get; set; }
 - #region 通用字段
 - private static readonly PropertyInfo
 CreateTimeProperty = RegisterProperty (c => c.CreateTime); - [DisplayName("创建时间")]
 - [FieldDescription(ColumnName="CreateTime",FriendlyName="创建时间",NeedUpdate=true)]
 - public override DateTime? CreateTime { get; set; }
 - private static readonly PropertyInfo
 LastUpdateTimeProperty = RegisterProperty (c => c.LastUpdateTime); - [DisplayName("***修改时间")]
 - [FieldDescription(ColumnName="LastUpdateTime",FriendlyName="***修改时间",NeedUpdate=true)]
 - public override DateTime? LastUpdateTime { get; set; }
 - public override void SetPrimaryKey(string key)
 - {
 - SUR_ID = key;
 - }
 - #endregion
 - }
 - [Serializable]
 - public class SysUserList : IfBusinessList
 - { }
 - }
 
现在就可以工作了:
全表检索数据方法:
- SysUserList selData = SysUserList.Fetch();
 
向数据库新增一条数据:
- SysUser.Business.SysUser user = new SysUser.Business.SysUser();
 - user.UserName= "inaction";
 - user.Name = "流砂";
 - user.Password= "superman";
 - selData.Add(user);
 - selData.Save();
 
向数据库修改数据:
- var user = SysUserList.Fetch(c => c.UserName == "inaction");
 - user.Password = "123456";
 - SysUserList list = new SysUserList { user };
 - list.Save();
 
以上代码就实现了对密码的修改。
特别说明:目前IF 只能通过SysUserList对象的Save方法保存数据。以后会实现通过业务类自身Save方法保存数据。