SOD框架的Model、连接数据库及增删改查

using PWMIS.DataMap.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using PWMIS.Common;

namespace GoOver.Models
{
    [Serializable()]
    public partial class Stu : EntityBase
    {
        public Stu()
        {
            TableName = "Stu";
            Schema = "";
            EntityMap = EntityMapType.Table;
            //IdentityName = "标识字段名";
            IdentityName = "Id";
            //PrimaryKeys.Add("主键字段名");
            PrimaryKeys.Add("Id");
        }
        protected override void SetFieldNames()
        {
            PropertyNames = new string[] { "Id", "Name", "Sex", "CreateTime", "IsDelete" };
        }

        protected override string[] SetFieldDescriptions()
        {
            //字段对应的描述
            return new string[] { "主键", "名称", "性别", "创建时间", "删除标志" };
        }
        public System.Int32 Id
        {
            get { return getProperty<System.Int32>("Id"); }
            set { setProperty("Id", value); }
        }
        public System.String Name
        {
            get { return getProperty<System.String>("Name"); }
            set { setProperty("Name", value); }
        }
        public System.Boolean Sex
        {
            get { return getProperty<System.Boolean>("Sex"); }
            set { setProperty("Sex", value); }
        }
        public System.DateTime CreateTime
        {
            get { return getProperty<System.DateTime>("CreateTime"); }
            set { setProperty("CreateTime", value); }
        }
        public System.Boolean IsDelete
        {
            get { return getProperty<System.Boolean>("IsDelete"); }
            set { setProperty("IsDelete", value); }
        }
    }
}

  PDF.NET SOD连接数据库只支持明文写在config文件的:

<configuration>
  <connectionStrings>
    <add name="StudentDB" connectionString="Data Source=.;Initial Catalog=StudentDB;Integrated Security=False;User ID=sa;Password=123;max pool size=1" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>

可以研究下这个:https://blog.csdn.net/qqcxw/article/details/51927469

//查询:
UserTab user = new  UserTab(){UserID = 1};
OQL q=OQL.From(User).select().Where(User.UserID).END;
UserTab dbUser = EntityQuery<UserTab>.QueryObject(q);
//查询2:
 List<Stu> LStu = new List<Stu>();
            var StuList = OQL.FromObject<Stu>().Select().Where((x, c) => x.Comparer(c.IsDelete, "=", false)).END.ToList();
//删除:相当于:Delete from [UserTab] where [UserID] = 2
UserTab user = new UserTab();
OQL deleteQ = OQL.From(user).Delete().Where(cmp => cmp.Comparer(user.UserID,OQLCompare.comUserTab>.Instance.ExecuteOql(deleteQ);
//更新整个实体:
UserTab user = new UserTab(){UserID = 1 ,UserName = "张三",pwd="XXX"};
//更新某个字段:相当于:update [UserTab] set [UserName] = "李四",[pwd] = "XXX" where [UserID] = 1
UserTab user = new  UserTab(){UserID = 1,UserName="李四",pwd="XXX"};
OQL updateQ = OQL.From(user).Update(user.UserName).END;
EntityQuery<UserTab>.Instance.ExecuteOql(updateQ);//只更新姓名
//插入全部数据:
UserTab user = new UserTab(){UserName = "张三",pwd="XXX"};
EntityQuery<UserTab>.Instance.Insert(user);
//插入部分数据:
UserTab user = new UserTab(){UserName = "张三",pwd="XXX"};
OQL insertQ = OQL.From(user).Insert(user.UserName).END;
EntityQuery<UserTab>.Instance.ExecuteOql(insertQ);

 

posted @ 2018-07-21 10:39  紫晶城  阅读(379)  评论(0编辑  收藏  举报