关于网友提出的“代码编写 关于代码编写问题。求高人。在线等。 数据库变动代码也变动 纠结啊。”问题疑问,本网通过在网上对“代码编写 关于代码编写问题。求高人。在线等。 数据库变动代码也变动 纠结啊。”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:代码编写 关于代码编写问题。求高人。在线等。 数据库变动代码也变动 纠结啊。描述:
如果数据库增加一个字段 我的DLL层和我的Model层都会有所改变。 人加经理闲改动工作量大。 我该怎么办。
目前格式如下
实体类:
///
/// 节点类
///
public class Node
{
private int n_id;
///
/// 节点ID
///
public int N_id
{
get { return n_id; }
set { n_id = value; }
}
}
数据库访问类:
///
/// 获得所有节点
///
///
public List
{
List
string sql = "select * from OMU_Node";
DataTable m_table = DBHelper.GetDataSet(sql);
if (m_table.Rows.Count > 0)
{
m_list = new List
Node m_node = null;
foreach (DataRow item in m_table.Rows)
{
m_node = new Node();
m_node.N_id = Convert.ToInt32(item["N_id"]);
m_node.Gw_id = Convert.ToInt32(item["Gw_id"]);
m_node.N_name = item["N_name"].ToString();
m_node.N_timing = item["n_timing"].ToString();
m_node.N_comment = item["N_comment"].ToString();
m_list.Add(m_node);
}
}
return m_list;
}
解决方案1:
nhibernate http://kb.cnblogs.com/zt/NHibernate/
解决方案2: 1. 修改数据表的代价很大,一般不可取
2. 如需修改,考虑orm
如果新添加一个字段 这样就要在取实体的时候赋值了。。item["N_id"]
应该没有办法。
用ORM框架吧 只需要改映射文件就行了。
如果业务有变化不可能不用改的,嫌太麻烦用orm呗。