如何将数据绑定到从Oracle数据库检索的模型

时间:2014-10-02 22:43:40

标签: asp.net-mvc oracle

我是mvc的新手。之前我曾经使用实体framewok进行编码,这很简单。但我必须做一些不同的事情。我看了一些教程,但我不能很好地理解它们并没有涵盖我的需要。 我连接了我的Visual Studio并从Oracle数据提供程序成功使用oracle 12c获取数据,而不是使用实体框架.Code位于上面。

string constr = "Data Source=localhost/orcl;User Id=HOSPITAL;Password=HOSPITAL;";
OracleConnection conn = new OracleConnection();
OracleCommand cmd;
OracleDataAdapter da;
conn.ConnectionString = constr;
OracleCommandBuilder cb;
DataSet ds;    
conn.Open();

string sql = "Select * from BABY
IDENTITY.FIRSTNAME,IDENTITY.LASTNAME,IDENTITY.MOTHERNAME,IDENTITY.FATHERNAME,
IDENTITY.BIRTHDAY,IDENTITY.GENDER,BABY.WEIGHT,BABY.HEIGHT FROM BABY 
INNER JOIN IDENTITY ON BABY.FILE_NO=IDENTITY.FILE_NO";

cmd = new OracleCommand(sql, conn);
cmd.CommandType = CommandType.Text;

da = new OracleDataAdapter(cmd);
cb = new OracleCommandBuilder(da);
ds = new DataSet();

da.Fill(ds);

conn.Close();

我想将这些数据绑定到我的模型并在view中显示。我的模型如下面的类。

public class Baby
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime Birthday { get; set; }
    public string FatherName { get; set; }
    public string MotherName { get; set; }
    public string Gender { get; set; }
    public int Height { get; set; }
    public int Weight { get; set; }

 }

我们如何将数据集绑定到我的模型或如何将查询结果直接绑定到我的模型?

1 个答案:

答案 0 :(得分:0)

实体框架可以与oracle一起使用: http://download.oracle.com/oll/obe/EntityFrameworkOBE/EntityFrameworkOBE.htm

您可以使用适配器设置数据表中的所有模型属性,例如:

var dt = new DataTable();
dt = ds.Tables[0];
IList<Baby> Babies = new List<Baby>();
foreach(DataRow dr in dt.Rows)
{
var baby= new Baby();
baby.FirstName = dr["Baby firstname column name from db"].ToString();
baby.Weight= (int)dr["Baby weight column name from db"];

Babies.Add(baby);
}

如果您不想手动编写大量左侧代码,请使用Automapper为您执行此操作。 Using AutoMapper with DataTable with missing columns http://automapper.org/