这个个人搞的框架不知道到底怎么样,做个项目测试下看看,本来想用EF的,大多数人说性能低,所以先放弃,试试这个,一些主要地方我做个摘录
5:多表怎么搞定?
A:视图方式,将多表查询放到数据库里成视图,情况和单表一样使用;
B:自定义查询语句如:
string table = "(select A.*,B.Name from CQ_Album A left join CQ_UserInfo U on A.UserID=U.UserID) v";
MAction action = new MAction(table);
int rowCount;
gvTable.DataSource = action.Select(1, 10, "id>1", out rowCount);
gvTable.DataBind();
action.Close();
当然了,你只要把自定义的sql语句,全放一边去统一管理就行了,界面上就不要出现sql语句了!
本人从新的实体框架上引入SetTo与GetFrom方法,下一篇改造版本将从索引赋/取值中解放,敬请关注:
//原索引设置值:
action.Data[CQ_Album.AlbumName].Value = txtAlbumName.Text;
//改进后成:
action.GetFrom(txtAlbumName); //原索引读值:
txtAlbumName.Text=action.Data[CQ_Album.AlbumName].Value
//改进后成:
action.SetTo(txtAlbumName);
第二课
接着开始项目实战了,下面示例已经过测试:
1:单行数据填充:
MAction action = new MAction(TableNames.CQ_Album);
if (action.Fill(1))
{
lbText.Text = action.Data[CQ_Album.AlbumName].Value.ToString();
action.Close();
}
2:数据更新:
MAction action = new MAction(TableNames.CQ_Album);
if (action.Fill(1))
{
action.Data[CQ_Album.AlbumName].Value = txtAlbumName.Text;
action.Update();
action.Close();
}
数据更新方法二:
MAction action = new MAction(TableNames.CQ_Album);
action.Data[CQ_Album.AlbumName].Value = txtAlbumName.Text;
action.Update("id=1");
action.Close();
3:数据删除:
MAction action = new MAction(TableNames.CQ_Album);
action.Delete(2);
action.Close();
数据删除方法二:
MAction action = new MAction(TableNames.CQ_Album);
action.DeleteByWhere("id=2");
action.Close();
4:数据查询与绑定:
查询所有:
MAction action = new MAction(TableNames.CQ_Album);
gvTable.DataSource = action.Select();
gvTable.DataBind();
action.Close();
分页查询:
MAction action = new MAction(TableNames.CQ_Album);
int rowCount;
gvTable.DataSource = action.Select(1, 10, "id>10", out rowCount);
gvTable.DataBind();
action.Close();