IDataReader连接值 [英] IDataReader join values
本文介绍了IDataReader连接值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好,
我的IDataReader中的
我在企业库的帮助下从我的存储过程中读取结果。问题是我在不同的表上有两列,它们包含不同的值,但是命名相同,所以当person.AddressID和Address.AddressID不同时,当AddressID返回时,我的AddressID会返回相同的值,因为连接在personID上。
Hello,
in my IDataReader I am reading results from my stored procedure with help of the enterprise library. The problem is I have two columns on different tables that hold different values but are named the same thing, so when I have AddressID coming back with the same value when person.AddressID and Address.AddressID are different as the join is on personID.
public static List<person> ToPersonListFull(this IDataReader dataReader)
{
var returnList = new List<person>();
while (dataReader.Read())
{
var Person = new Person()
{
PersonID = Int32.Parse(dataReader["PersonID "].ToString()),
Name = dataReader["Name"].ToString(),
AddressID = Int32.Parse(dataReader["AddressID"].ToString()),
Address = new Address ()
{
AddressID = Int32.Parse(dataReader["AddressID "].ToString()),
PersonID = Int32.Parse(dataReader["PersonID "].ToString()),
Address1 = dataReader["Address1"].ToString(),
ZipCode = Int32.Parse(dataReader["ZipCode"].ToString()),
},
};
returnList.Add(Person);
}
return returnList;
}
任何帮助都会很棒!谢谢
Any help would be great! Thank you
推荐答案
public static List< person> ToPersonListFull(此IDataReader dataReader)
{
var returnList = new List< person>();
while(dataReader.Read())
{
var Person = new Person()
{
PersonID = Int32.Parse(dataReader [ PersonID] .ToString()),
Name = dataReader [Name]。ToString(),
AddressID = Int32.Parse(dataReader [AddressID] .ToString()),
地址=新地址()
{
AddressID = Int32.Parse(dataReader [tAddressID]。 ToString()),
PersonID = Int32.Parse(dataReader [tPersonID] .ToString()),
Address1 = dataReader [Address1]。ToString( ),
ZipCode = Int32.Parse(dataReader [ZipCode]。ToString()),
},
};
returnList.Add(人);
}
返回returnList;
}
我能够将t.AddressID设置为tAddressId并将t.PersonID设置为tPersonId并且很容易能够找到并将其链接到代码中,这样我就可以访问AddressID和tAddressID,PersonID和t.PersonID并获得正确的值。
public static List<person> ToPersonListFull(this IDataReader dataReader)
{
var returnList = new List<person>();
while (dataReader.Read())
{
var Person = new Person()
{
PersonID = Int32.Parse(dataReader["PersonID "].ToString()),
Name = dataReader["Name"].ToString(),
AddressID = Int32.Parse(dataReader["AddressID"].ToString()),
Address = new Address ()
{
AddressID = Int32.Parse(dataReader["tAddressID "].ToString()),
PersonID = Int32.Parse(dataReader["tPersonID "].ToString()),
Address1 = dataReader["Address1"].ToString(),
ZipCode = Int32.Parse(dataReader["ZipCode"].ToString()),
},
};
returnList.Add(Person);
}
return returnList;
}
I was able to set t.AddressID as tAddressId and t.PersonID as tPersonId and easily able to find and link it in the code, so i can access AddressID and tAddressID, PersonID and t.PersonID and get the right values.
嘿大家,我想出来了,我只是做了一些重命名在存储过程中,即
选择t.addressid作为tAddressId,一切都很好
hey everyone, i figured it out, i just did some renaming in the stored proc, ie
select t.addressid as tAddressId and all is well
这篇关于IDataReader连接值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文