<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping assembly="Domain" namespace="Domain" xmlns="urn:nhibernate-mapping-2.2">
<class name="DuCardType" table="DuCardType" lazy="true" >
<id name="CardTypeId" column="CardTypeId">
<generator class="identity" />
</id>
<property name="CardTypeName">
<column name="CardTypeName" sql-type="nvarchar" not-null="true" />
</property>
<property name="CardTypeColor">
<column name="CardTypeColor" sql-type="nvarchar" not-null="true" />
</property> <sql-insert name="InsertDuCardType">exec proc_Insert_DuCardType ?,?,?</sql-insert>
<!--<sql-insert name="SqlInsertDuCardType">INSERT INTO DuCardType (CardTypeName, CardTypeColor) VALUES (?,?,?)</sql-insert>-->
<!--<sql-insert>
  <sql-update>
  <sql-delete>-->
</class>
</hibernate-mapping>

  

  ///<summary>
/// 追加记录返回值
///</summary>
///<param name="DuCardType">输入参数:DuCardTypeInfo</param>
///<param name="CardTypeId">返回参数:CardTypeId</param>
///<returns>返回是否添加的个数</returns>
public int InsertDuCardTypeOutput(DuCardType cardType, out int cardTypeId)
{ int sid = ;
NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
ITransaction tran = session.BeginTransaction();
try
{
session.Save(cardType);
cardTypeId = cardType.CardTypeId;
tran.Commit();
}
catch (MappingException ex)
{
sid = ;
tran.Rollback();
throw ex; } return sid; //return dal.InsertDuCardTypeOutput(duCardType,out cardTypeId);
}
  ///<summary>
///修改记录
///</summary>
///<param name="DuCardType">输入参数:DuCardTypeInfo</param>
///<returns>返回修改的多少记录数</returns>
public int UpdateDuCardType(DuCardType duCardType)
{
int sid = 1;
NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
ITransaction tran = session.BeginTransaction();
try
{
session.Update(duCardType);
tran.Commit();
}
catch (Exception ex)
{
sid = 0;
tran.Rollback();
throw ex; } return sid;
//return dal.UpdateDuCardType(duCardType);
}

  

 /// <summary>
/// 删除
/// </summary>
/// <param name="customer"></param>
/// <returns></returns>
public int Dell(DuCardType cardType)
{
int sid = 1;
NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
ITransaction tran = session.BeginTransaction();
try
{
session.Delete(cardType);
tran.Commit();
}
catch (Exception ex)
{
sid = 0;
tran.Rollback();
throw ex; }
return sid;
}

  

 ///<summary>
/// 删除记录
///</summary>
///<param name="cardTypeId">输入参数:CardTypeId</param>
///<returns>返回删除记录条数</returns>
public bool DeleteDuCardType(int cardTypeId)
{
bool isok = false;
try
{
IDbDataParameter[] par = new SqlParameter[]
{
new SqlParameter(),
};
par[0].ParameterName = "CardTypeId";
par[0].Value = cardTypeId;
isok = DBHelper.ExecuteNonQuery(SessionFactory, CommandType.StoredProcedure, "proc_Delete_DuCardType");
}
catch (NotImplementedException ex)
{
ex.Message.ToString();
} return isok; //return dal.DeleteDuCardType(cardTypeId);
} /// <summary>
/// 删除
/// </summary>
/// <param name="customer"></param>
/// <returns></returns>
public int Dell(DuCardType cardType)
{
int sid = 1;
NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
ITransaction tran = session.BeginTransaction();
try
{
session.Delete(cardType);
tran.Commit();
}
catch (Exception ex)
{
sid = 0;
tran.Rollback();
throw ex; }
return sid;
} ///<summary>
/// 删除多条记录
///</summary>
///<param name="cardTypeId">输入参数:CardTypeId</param>
///<returns>返回删除多少记录</returns>
public bool DeleteDuCardTypeId(string cardTypeId)
{
bool isok = false;
try
{
IDbDataParameter[] par = new SqlParameter[]
{
new SqlParameter(),
};
par[0].ParameterName = "CardTypeId";
par[0].Value = cardTypeId;
isok = DBHelper.ExecuteNonQuery(SessionFactory, CommandType.StoredProcedure, "proc_Delete_DuCardTypeId");
}
catch (NotImplementedException ex)
{
ex.Message.ToString();
} return isok; //return dal.DeleteDuCardTypeId(cardTypeId);
}

  

 /// <summary>
///
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public IList<DuCardType> CardTypeSql(int id)
{ NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
IList<DuCardType> card = new List<DuCardType>();
if (!object.Equals(session, null))
{
//写法1
//return _session.CreateQuery("from DuCardType c where c.CardTypeName='" + firstname + "'")
// .List<DuCardType>(); //写法2:位置型参数
//return _session.CreateQuery("from DuCardType c where c.CardTypeName=?")
// .SetString(0, firstname)
// .List<DuCardType>();
//写法4.
//var sql = "select * from DuCardType";
//var query = session.CreateSQLQuery(sql)
//.AddScalar("CardTypeId", NHibernateUtil.Int32)
//.AddScalar("CardTypeName", NHibernateUtil.String)
//.AddScalar("CardTypeColor", NHibernateUtil.String)
//.SetResultTransformer(Transformers.AliasToBean<DuCardType>());
//result = query.List<DuCardType>(); //写法3:命名型参数(推荐) var query = session.CreateSQLQuery("Select * FROM DuCardType where CardTypeId=:CardTypeId")
.SetInt32("CardTypeId", id)
.SetResultTransformer(Transformers.AliasToBean(typeof(DuCardType)));
card = query.List<DuCardType>();
}
return card; } /// <summary>
/// 存储过程
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public IList<DuCardType> CardTypeProcedures(int id)
{
//读到数据
IList<DuCardType> li = null;
NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
string sql = @"exec proc_Select_DuCardType :CardTypeId";
IQuery query = session.CreateSQLQuery(sql)
.SetInt32("CardTypeId", id);
var list = query.List();
foreach (object[] item in list)
{
li =new List<DuCardType>();
var cardType = new DuCardType();
cardType.CardTypeId = (int)item[0];
cardType.CardTypeName = (string)item[1];
cardType.CardTypeColor = item[2].ToString();
li.Add(cardType);
} //query = query.SetResultTransformer(Transformers.AliasToBean<OrderDto>());
//var list2 = query.List<OrderDto>(); var result = from cardType in li
orderby cardType.CardTypeName //名字排序
select cardType; return li; }

  GetNamedQuery: 存储过程

  /// <summary>
/// 存储过程查询
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public IList<DuCardType> CardTypeProcedures(int id)
{
//读到数据
IList<DuCardType> li = null;
NHibernate.ISession session = this.SessionFactory.GetCurrentSession(); try
{ IQuery query = session.GetNamedQuery("proc_Select_DuCardType")
.SetParameter("CardTypeId", id)
.SetResultTransformer(
Transformers.AliasToBean(typeof(DuCardType)));
li = query.List<DuCardType>(); //var executor = new HibernateStoredProcedureExecutor(session);
//var lie = executor.ExecuteStoredProcedure<DuCardType>(
// "proc_Select_DuCardType", //find no
// new[]
// {
// new SqlParameter("CardTypeId", id),
// //new SqlParameter("startDate", startDate),
// // new SqlParameter("endDate", endDate),
// });
//li = lie.ToList();
//return li; //string sql = @"exec proc_Select_DuCardType :CardTypeId";
//IQuery query = session.CreateSQLQuery(sql)
// .SetInt32("CardTypeId", id);
//var list = query.List();
//foreach (object[] item in list)
//{
// li = new List<DuCardType>();
// var cardType = new DuCardType();
// cardType.CardTypeId = (int)item[0];
// cardType.CardTypeName = (string)item[1];
// cardType.CardTypeColor = item[2].ToString();
// li.Add(cardType);
//} ////query = query.SetResultTransformer(Transformers.AliasToBean<OrderDto>());
////var list2 = query.List<OrderDto>(); //var result = from cardType in li
// orderby cardType.CardTypeName //名字排序
// select cardType;
}
catch (MappingException ex)
{
ex.Message.ToString();
}
return li; }

  

 /// <summary>
/// Linq查询
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public IQueryable<DuCardType> getCardTypeID(int id)
{
NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
var query = session.Query<DuCardType>();
var result = from cardType in query
where cardType.CardTypeId == id
select cardType;
return result;
}

  

 /// <summary>
/// 存储过程分页
/// 涂聚文 2016.07.03
/// </summary>
/// <param name="strwhere">Where条件</param>
/// <param name="aecdesc">排序字段</param>
/// <param name="pageIndex">开始页码</param>
/// <param name="pageSize">页大小</param>
/// <param name="RecordCount">输出总页数</param>
/// <returns></returns>
public DataTable GetDataPage(string strwhere, string aecdesc, int pageIndex, int pageSize, out int RecordCount)
{
NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
DataSet data = new DataSet();
try
{ //SessionFactory.ConnectionProvider.Driver
IDbCommand cmd = SessionFactory.OpenSession().Connection.CreateCommand();
//cmd.CommandText = "testaa"; //IDbConnection con = session.Connection;
//Type conType = con.GetType();
//string conTypeName = conType.FullName;
// if (!conTypeName.EndsWith("Connection"))
// throw new Exception("Unable to interpret connection type name: " + conTypeName);
//string adapterTypeName = conTypeName.Substring(0, conTypeName.Length - 10) + "DataAdapter"; IDbDataAdapter adapter = new SqlDataAdapter(); //IDbDataAdapter adapter = conType.Assembly.CreateInstance(adapterTypeName) as IDbDataAdapter;
//if (adapter == null)
// throw new Exception("Unable to load IDbDataAdapter: " + adapterTypeName);
// IDbCommand cmd = con.CreateCommand(); cmd.CommandText = "GetPagedRecordFor2005_2008";
cmd.CommandType = CommandType.StoredProcedure;
IDbDataParameter p = cmd.CreateParameter();
IDbDataParameter p1 = cmd.CreateParameter();
IDbDataParameter p2 = cmd.CreateParameter();
IDbDataParameter p3 = cmd.CreateParameter();
IDbDataParameter p4 = cmd.CreateParameter();
IDbDataParameter p5 = cmd.CreateParameter();
IDbDataParameter p6 = cmd.CreateParameter();
// IDbDataParameter p7 = cmd.CreateParameter(); if (string.IsNullOrEmpty(strwhere))
{
strwhere = " 1=1 ";
}
p.ParameterName = "Table";
p.Value = "DuCardType"; p1.ParameterName = "TIndex";
p1.Value = "CardTypeId"; p2.ParameterName = "Column";
p2.Value = " * "; p3.ParameterName = "Sql";
p3.Value = strwhere; p4.ParameterName = "PageIndex";
p4.Value = pageIndex; p5.ParameterName = "PageSize";
p5.Value = pageSize; p6.ParameterName = "Sort";
p6.Value = aecdesc; //p1.ParameterName = "geovindu";
//p1.Size = 10;
//p1.Direction = ParameterDirection.Output; //p7.ParameterName = "TotalRecords";
//p7.Size = 10;
//p7.Direction = ParameterDirection.Output; cmd.Parameters.Add(p);
cmd.Parameters.Add(p1);
cmd.Parameters.Add(p2);
cmd.Parameters.Add(p3);
cmd.Parameters.Add(p4);
cmd.Parameters.Add(p5);
cmd.Parameters.Add(p6);
// cmd.Parameters.Add(p7); adapter.SelectCommand = cmd;
adapter.Fill(data);
//RecordCount =(int)p7.Value;
cmd.Cancel();
cmd.Dispose();
RecordCount = data.Tables[0].Rows.Count; }
catch (NotImplementedException ex)
{ RecordCount = 0;
ex.Message.ToString();
} return data.Tables[0]; // return dal.GetDataPage(strwhere, aecdesc, pageIndex, pageSize, out RecordCount);
}

 

 /// <summary>
/// 存储过程分页
/// 涂聚文 2016.07.03
/// </summary>
/// <param name="strwhere">Where条件</param>
/// <param name="aecdesc">排序字段</param>
/// <param name="pageIndex">开始页码</param>
/// <param name="pageSize">页大小</param>
/// <param name="RecordCount">输出总页数</param>
/// <returns></returns>
public DataTable GetDataPage(string strwhere, string aecdesc, int pageIndex, int pageSize, out int RecordCount)
{
NHibernate.ISession session = this.SessionFactory.GetCurrentSession();
DataSet data = new DataSet();
try
{ //SessionFactory.ConnectionProvider.Driver
IDbCommand cmd = SessionFactory.OpenSession().Connection.CreateCommand();
//cmd.CommandText = "testaa"; //IDbConnection con = session.Connection;
//Type conType = con.GetType();
//string conTypeName = conType.FullName;
// if (!conTypeName.EndsWith("Connection"))
// throw new Exception("Unable to interpret connection type name: " + conTypeName);
//string adapterTypeName = conTypeName.Substring(0, conTypeName.Length - 10) + "DataAdapter"; IDbDataAdapter adapter = new SqlDataAdapter(); //IDbDataAdapter adapter = conType.Assembly.CreateInstance(adapterTypeName) as IDbDataAdapter;
//if (adapter == null)
// throw new Exception("Unable to load IDbDataAdapter: " + adapterTypeName);
// IDbCommand cmd = con.CreateCommand();
//1.
// cmd.CommandText = "GetPagedRecordFor2005_2008";
// cmd.CommandType = CommandType.StoredProcedure;
// IDbDataParameter p = new SqlParameter();// cmd.CreateParameter();
// IDbDataParameter p1 = cmd.CreateParameter();
// IDbDataParameter p2 = cmd.CreateParameter();
// IDbDataParameter p3 = cmd.CreateParameter();
// IDbDataParameter p4 = cmd.CreateParameter();
// IDbDataParameter p5 = cmd.CreateParameter();
// IDbDataParameter p6 = cmd.CreateParameter();
//// IDbDataParameter p7 = cmd.CreateParameter(); // if (string.IsNullOrEmpty(strwhere))
// {
// strwhere = " 1=1 ";
// }
// p.ParameterName = "Table";
// p.Value = "DuCardType"; // p1.ParameterName = "TIndex";
// p1.Value = "CardTypeId"; // p2.ParameterName = "Column";
// p2.Value = " * "; // p3.ParameterName = "Sql";
// p3.Value = strwhere; // p4.ParameterName = "PageIndex";
// p4.Value = pageIndex; // p5.ParameterName = "PageSize";
// p5.Value = pageSize; // p6.ParameterName = "Sort";
// p6.Value = aecdesc; // //p1.ParameterName = "geovindu";
// //p1.Size = 10;
// //p1.Direction = ParameterDirection.Output; //输出值
// //p7.ParameterName = "TotalRecords";
// //p7.Size = 10;
// //p7.Direction = ParameterDirection.Output; // cmd.Parameters.Add(p);
// cmd.Parameters.Add(p1);
// cmd.Parameters.Add(p2);
// cmd.Parameters.Add(p3);
// cmd.Parameters.Add(p4);
// cmd.Parameters.Add(p5);
// cmd.Parameters.Add(p6);
//// cmd.Parameters.Add(p7);
// adapter.SelectCommand = cmd;
// adapter.Fill(data);
// //RecordCount =(int)p7.Value;
// cmd.Cancel();
// cmd.Dispose(); //2.
IDbDataParameter[] par = new SqlParameter[]
{
new SqlParameter(), //表名
new SqlParameter(),//主键,可以带表头
new SqlParameter(),//读取字段
new SqlParameter(),//Where条件
new SqlParameter(),//开始页码
new SqlParameter(),//页大小
new SqlParameter(),//排序字段 };
if (string.IsNullOrEmpty(strwhere))
{
strwhere = " 1=1 ";
}
par[0].ParameterName = "Table"; //表名
par[0].Value="DuCardType";
par[1].ParameterName = "TIndex";
par[1].Value = "CardTypeId";
par[2].ParameterName = "Column";
par[2].Value = " * ";
par[3].ParameterName = "Sql";//查询条件
par[3].Value = strwhere;
par[4].ParameterName = "PageIndex";
par[4].Value = pageIndex;
par[5].ParameterName = "PageSize";
par[5].Value = pageSize;
par[6].ParameterName = "Sort";
par[6].Value = aecdesc;
data = DBHelper.ExecuteDataSet(SessionFactory, CommandType.StoredProcedure, "GetPagedRecordFor2005_2008", par); RecordCount = data.Tables[0].Rows.Count; }
catch (NotImplementedException ex)
{ RecordCount = 0;
ex.Message.ToString();
} return data.Tables[0]; // return dal.GetDataPage(strwhere, aecdesc, pageIndex, pageSize, out RecordCount);
}

  

 

 /// <summary>
/// 2016 geovindu
/// </summary>
public static class IListConverDataTable
{
/// <summary>
///
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="data"></param>
/// <returns></returns>
public static DataTable ToDataTable<T>(this IList<T> data)
{
PropertyDescriptorCollection properties =
TypeDescriptor.GetProperties(typeof(T));
DataTable table = new DataTable();
foreach (PropertyDescriptor prop in properties)
table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
foreach (T item in data)
{
DataRow row = table.NewRow();
foreach (PropertyDescriptor prop in properties)
row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;
table.Rows.Add(row);
}
return table;
}
/// <summary>
///
/// </summary>
/// <param name="list"></param>
/// <returns></returns>
public static DataTable ToDataTable(IList list)
{
DataTable result = new DataTable();
if (list.Count > 0)
{
PropertyInfo[] propertys = list[0].GetType().GetProperties();
foreach (PropertyInfo pi in propertys)
{
result.Columns.Add(pi.Name, pi.PropertyType);
}
for (int i = 0; i < list.Count; i++)
{
ArrayList tempList = new ArrayList();
foreach (PropertyInfo pi in propertys)
{
object obj = pi.GetValue(list[i], null);
tempList.Add(obj);
}
object[] array = tempList.ToArray();
result.LoadDataRow(array, true);
}
}
return result;
}
}

  

DBHelper.cs

          //
private IDbConnection _idbConnection;
private IDataReader _iDataReader;
private IDbCommand _idbCommand;
private IDbTransaction _idbTransaction;
private IDbDataParameter[] _idbParameters;
/// <summary>
///
/// </summary>
public IDbConnection Connection
{
get { return _idbConnection; }
set { _idbConnection = value; }
} public IDataReader DataReader
{
get { return _iDataReader; }
set { _iDataReader = value; }
} public IDbCommand Command
{
get { return _idbCommand; }
set { _idbCommand = value; }
} public IDbTransaction Transaction
{
get { return _idbTransaction; }
set { _idbTransaction = value; }
} public IDbDataParameter[] Parameters
{
get { return _idbParameters; }
set { _idbParameters = value; }
} public static IDbTransaction GetTransaction(NHibernate.ISession session)
{
IDbConnection iDbConnection = session.Connection;
IDbTransaction iDbTransaction = iDbConnection.BeginTransaction();
return iDbTransaction;
} public static IDbDataParameter[] GetParameters(int paramsCount)
{
IDbDataParameter[] idbParams = new IDbDataParameter[paramsCount]; for (int i = 0; i < paramsCount; i++)
{
idbParams[i] = new SqlParameter();
}
return idbParams;
}
/// <summary>
///
/// </summary>
/// <param name="paramsCount"></param>
public void CreateParameters(int paramsCount)
{
Parameters = new IDbDataParameter[paramsCount];
Parameters = GetParameters(paramsCount);
} public void AddParameters(int index, string paramName, object objValue)
{
if (index < Parameters.Length)
{
Parameters[index].ParameterName = paramName;
Parameters[index].Value = objValue;
}
}
/// <summary>
///
/// </summary>
/// <param name="sessionFactory"></param>
/// <param name="commandType"></param>
/// <param name="commandText"></param>
/// <returns></returns>
public IDataReader ExecuteReader(NHibernate.ISessionFactory sessionFactory, CommandType commandType, string commandText)
{
Command = sessionFactory.OpenSession().Connection.CreateCommand();
Command.Connection = Connection;
PrepareCommand(Command, Connection, Transaction, commandType, commandText, Parameters);
DataReader = Command.ExecuteReader();
Command.Parameters.Clear();
return DataReader;
}
/// <summary>
///
/// </summary>
/// <param name="sessionFactory"></param>
/// <param name="commandType"></param>
/// <param name="commandText"></param>
/// <returns></returns>
public int ExecuteNonQuery(NHibernate.ISessionFactory sessionFactory, CommandType commandType, string commandText)
{
Command = sessionFactory.OpenSession().Connection.CreateCommand();
PrepareCommand(Command, Connection, Transaction, commandType, commandText, Parameters);
int returnValue = Command.ExecuteNonQuery();
Command.Parameters.Clear();
return returnValue;
} public object ExecuteScalar(NHibernate.ISessionFactory sessionFactory, CommandType commandType, string commandText)
{
Command = sessionFactory.OpenSession().Connection.CreateCommand();
PrepareCommand(Command, Connection, Transaction, commandType, commandText, Parameters);
object returnValue = Command.ExecuteScalar();
Command.Parameters.Clear();
return returnValue;
}
/// <summary>
///
/// </summary>
/// <param name="sessionFactory"></param>
/// <param name="commandType"></param>
/// <param name="commandText"></param>
/// <returns></returns>
public DataSet ExecuteDataSet(NHibernate.ISessionFactory sessionFactory, CommandType commandType, string commandText)
{
Command = sessionFactory.OpenSession().Connection.CreateCommand();
PrepareCommand(Command, Connection, Transaction, commandType, commandText, Parameters);
IDbDataAdapter dataAdapter = new SqlDataAdapter(); //根据不同的数据库选择不同的数据库
dataAdapter.SelectCommand = Command;
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
Command.Parameters.Clear();
return dataSet;
}
/// <summary>
///
/// </summary>
/// <param name="sessionFactory"></param>
/// <param name="commandType"></param>
/// <param name="commandText"></param>
/// <param name="sqlParams"></param>
/// <returns></returns>
public DataSet ExecuteDataSet(NHibernate.ISessionFactory sessionFactory, CommandType commandType, string commandText, IDbDataParameter[] sqlParams)
{
Command = sessionFactory.OpenSession().Connection.CreateCommand();
PrepareCommand(Command, Connection, Transaction, commandType, commandText, sqlParams);
IDbDataAdapter dataAdapter = new SqlDataAdapter(); //根据不同的数据库选择不同的数据库
dataAdapter.SelectCommand = Command;
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
Command.Parameters.Clear();
return dataSet;
} /// <summary>
///
/// </summary>
/// <param name="command"></param>
/// <param name="commandParameters"></param>
private void AttachParameters(IDbCommand command, IDbDataParameter[] commandParameters)
{
foreach (IDbDataParameter idbParameter in commandParameters)
{
if (idbParameter.Direction == ParameterDirection.InputOutput && idbParameter.Value == null)
{
idbParameter.Value = DBNull.Value;
}
command.Parameters.Add(idbParameter);
}
}
/// <summary>
///
/// </summary>
/// <param name="command"></param>
/// <param name="connection"></param>
/// <param name="transaction"></param>
/// <param name="commandType"></param>
/// <param name="commandText"></param>
/// <param name="commandParameters"></param>
private void PrepareCommand(IDbCommand command, IDbConnection connection, IDbTransaction transaction,
CommandType commandType, string commandText, IDbDataParameter[] commandParameters)
{
command.Connection = connection;
command.CommandText = commandText;
command.CommandType = commandType;
if (transaction != null)
{
command.Transaction = transaction;
}
if (commandParameters != null)
{
AttachParameters(command, commandParameters);
}
}

  

csharp:Nhibernate Procedure with CreateSQLQuery and GetNamedQuery的更多相关文章

  1. csharp: NHibernate and Entity Framework (EF) (object-relational mapper)

    代码生成器: 1. http://www.codesmithtools.com/ 2.https://sourceforge.net/projects/mygeneration/ 3. http:// ...

  2. csharp: Procedure with DAO(Data Access Object) and DAL(Data Access Layer)

    sql script code: CREATE TABLE DuCardType ( CardTypeId INT IDENTITY(1,1) PRIMARY KEY, CardTypeName NV ...

  3. Fluent Nhibernate and Stored Procedures

    sql:存储过程 DROP TABLE Department GO CREATE TABLE Department ( Id INT IDENTITY(1,1) PRIMARY KEY, DepNam ...

  4. csharp: Oracle Stored Procedure DAL using ODP.NET

    paging : http://www.codeproject.com/Articles/44858/Custom-Paging-GridView-in-ASP-NET-Oracle https:// ...

  5. csharp: MySQL Stored Procedure using DAL

    # 建表 塗聚文 20160907 drop table attendrecord; create table attendrecord ( seq INT NOT NULL PRIMARY KEY ...

  6. NHibernate 使用CreateSQLQuery进行查询

    涉及的表:Cake{Id ,CakeName } CakeSize{ CakeId,-为外键,对应Cake表的字段Id Size } (其中ISession session = NHibernateH ...

  7. Nhibernate中CreateSQLQuery用法实例

    说明: 使用原生SQL查询时,若要通过addEntity方法引入对象,则查询结果列中必须包含该对象的所有属性,否则会抛出System.IndexOutOfRangeException异常. 结论: 若 ...

  8. Csharp 连接NHibernate下需要注意的几个点

    背景: 在学习Photon Server 时,我看的教程中使用了NHibernate 框架来连接管理Mysql数据库. 我在以前只使用过java中的Spring boot,感觉两者有些相似之处. 我写 ...

  9. NHibernate 中删除数据的几种方法

    今天下午有人在QQ群上问在NHibernate上如何根据条件删除多条数据,于是我自己就写了些测试代码,并总结了一下NHibernate中删除数据的方式,做个备忘.不过不能保证囊括所有的方式,如果还有别 ...

随机推荐

  1. VS2010安装失败解决办法

    1. 运行regedit打开注册表: 2. 找到HKEY_LOCAL_MACHINE\SOFWARE\ Microsoft\ Internet Explorer\ MAIN: 3. MAIN子键的权限 ...

  2. C++的黑科技

    周二面了腾讯,之前只投了TST内推,貌似就是TST面试了 其中有一个问题,"如何产生一个不能被继承的类",这道题我反反复复只想到,将父类的构造函数私有,让子类不能调用,最后归结出一 ...

  3. node-webkit 笔记

    NW.js is an app runtime based on Chromium and node.js. You can write native apps in HTML and JavaScr ...

  4. 让IE8支持HTML5及canvas功能!

    微软出的IE9支持HTML5,但因为不支持XP系统,暂时我还用不了. 即使能用,现阶段如果开发HTML5页面,并考虑到兼容性问题的话,恐怕也得让自己的界面支持IE6-8吧. 首先,需要让IE支持HTM ...

  5. C#操作FTP报错,远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问文件)的解决方法

    最近在做项目的时候需要操作ftp进行文件的上传下载,但在调用using (var response = (FtpWebResponse)FtpWebRequest.GetResponse())的时候总 ...

  6. JDBC连接SQL Server2008

    在使用JDBC连接数据库之前首先要加载相应数据库的JDBC驱动类,可以通过通用方法Class.forName来加载驱动类.   方式一:使用JDBC-ODBC连接桥 一般安装JDK后会自带JDBC-O ...

  7. ListView具有多种item布局——实现微信对话列

    这篇文章的效果也是大家常见的,各种通讯应用的对话列表都是这种方式,像微信.whatsapp.易信.米聊等.我们这篇文章也权当为回忆,形成简单的笔记.这篇文章参考了2009年Google IO中的< ...

  8. 享元模式及C++实现

    享元模式(flyweight) flyweight是轻量级的意思,中文这边翻译成享元,更容易让人理解一些. 享元模式是为了应对大量细粒度对象重复的问题.程序中存在大量细粒度的对象,每次要使用时都必须创 ...

  9. windows 2008 R2 64位系统,找到Microsoft Excel 应用程序

    在windows  2003 操作系统中, 1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务", 2.依次双击& ...

  10. 后端码农谈前端(HTML篇)第三课:常见属性

    一.HTML全局属性 1.核心属性 属性 描述 id 设置元素的唯一 id. class 设置元素的一个或多个类名(引用样式表中的类). style 设置元素的行内样式(CSS内联样式). title ...