PDA

View Full Version : حرفه ای: مشکل با جستجو توسط linq to entity



TheCoder
جمعه 12 مهر 1392, 15:12 عصر
سلام
من میخوام توی بانک سرچ کنم
اما تو جدول املاکم مثلا کد شهر یا کد استان و... هست
نمیدونم چطور باید کار کنم که تو خروجی بتونم به جای کدشون ،مثلا عنوان شهر رو بدست بیارم
AmlakContext db = new AmlakContext();
long myProvinceID = -1;
long myCityID = -1;
long myAreaID = -1;
long myUsageID = -1;
long myTypeID = -1;
long myDealID = -1;
if (((DropDownList1.SelectedValue) != null)) { myProvinceID = Convert.ToInt64(DropDownList1.SelectedValue); } else { myProvinceID = -1; }
if (((DropDownList2.SelectedValue) != null)) { myCityID = Convert.ToInt64(DropDownList2.SelectedValue); } else { myCityID = -1; }
if (((DropDownList3.SelectedValue) != null)) { myAreaID = Convert.ToInt64(DropDownList3.SelectedValue); } else { myAreaID = -1; }
if (((DropDownList4.SelectedValue) != null)) { myUsageID = Convert.ToInt64(DropDownList4.SelectedValue); } else { myUsageID = -1; }
if (((DropDownList5.SelectedValue) != null)) { myTypeID = Convert.ToInt64(DropDownList5.SelectedValue); } else { myTypeID = -1; }
if (((DropDownList6.SelectedValue) != null)) { myDealID = Convert.ToInt64(DropDownList6.SelectedValue); } else { myDealID = -1; }

var a = from myBuilding in db.Building
join myProvince in db.Province
on myBuilding.ProvinceID
equals myProvince.ProvinceID
select new
{
newTypeID = myBuilding.TypeID,
newUsageID = myBuilding.UsageID,
newAreaID = myBuilding.AreaID,
newCityID = myBuilding.CityID,
newPriceByRent = myBuilding.PriceByRent,
newPriceByMonth = myBuilding.PriceByMonth,
newPriceByMeter = myBuilding.PriceByMeter,
newDealID = myBuilding.DealID,
newBuildingDescr = myBuilding.BuildingDescr,
newBuildingAddress = myBuilding.BuildingAddress,
newBuildingProvince = myProvince.ProvinceTitle
};
var b = from myBuilding in a
join mycity in db.City
on myBuilding.newCityID
equals mycity.CityID
select new
{
newTypeID = myBuilding.newTypeID,
newUsageID = myBuilding.newUsageID,
newAreaID = myBuilding.newAreaID,
newCityID = myBuilding.newCityID,
newPriceByRent = myBuilding.newPriceByRent,
newPriceByMonth = myBuilding.newPriceByMonth,
newPriceByMeter = myBuilding.newPriceByMeter,
newDealID = myBuilding.newDealID,
newBuildingDescr = myBuilding.newBuildingDescr,
newBuildingAddress = myBuilding.newBuildingAddress,
newBuildingProvince = myBuilding.newBuildingProvince,
newBuildingCity = mycity.CityTitle
};

var c = from myBuilding in b
join myArea in db.Area
on myBuilding.newAreaID
equals myArea.AreaID
select new
{
newTypeID = myBuilding.newTypeID,
newUsageID = myBuilding.newUsageID,
newAreaID = myBuilding.newAreaID,
newCityID = myBuilding.newCityID,
newPriceByRent = myBuilding.newPriceByRent,
newPriceByMonth = myBuilding.newPriceByMonth,
newPriceByMeter = myBuilding.newPriceByMeter,
newDealID = myBuilding.newDealID,
newBuildingDescr = myBuilding.newBuildingDescr,
newBuildingAddress = myBuilding.newBuildingAddress,
newBuildingProvince = myBuilding.newBuildingProvince,
newBuildingCity = myBuilding.newBuildingCity,
newBuildingArea = myArea.AreaTitle,
};



var d = from myBuilding in c
join myType in db.Type
on myBuilding.newTypeID
equals myType.TypeID
select new
{
newTypeID = myBuilding.newTypeID,
newUsageID = myBuilding.newUsageID,
newAreaID = myBuilding.newAreaID,
newCityID = myBuilding.newCityID,
newPriceByRent = myBuilding.newPriceByRent,
newPriceByMonth = myBuilding.newPriceByMonth,
newPriceByMeter = myBuilding.newPriceByMeter,
newDealID = myBuilding.newDealID,
newBuildingDescr = myBuilding.newBuildingDescr,
newBuildingAddress = myBuilding.newBuildingAddress,
newBuildingProvince = myBuilding.newBuildingProvince,
newBuildingCity = myBuilding.newBuildingCity,
newBuildingArea = myBuilding.newBuildingArea,
newBuildingType = myType.TypeTitle
};
var f = from myBuilding in d
join myUsage in db.Usage
on myBuilding.newUsageID
equals myUsage.UsageID
select new
{
newTypeID = myBuilding.newTypeID,
newUsageID = myBuilding.newUsageID,
newAreaID = myBuilding.newAreaID,
newCityID = myBuilding.newCityID,
newPriceByRent = myBuilding.newPriceByRent,
newPriceByMonth = myBuilding.newPriceByMonth,
newPriceByMeter = myBuilding.newPriceByMeter,
newDealID = myBuilding.newDealID,
newBuildingDescr = myBuilding.newBuildingDescr,
newBuildingAddress = myBuilding.newBuildingAddress,
newBuildingProvince = myBuilding.newBuildingProvince,
newBuildingCity = myBuilding.newBuildingCity,
newBuildingArea = myBuilding.newBuildingArea,
newBuildingType = myBuilding.newBuildingType,
newBuildingUsage = myUsage.UsageTitle
};
var g = from myBuilding in f
join myDeal in db.Deal
on myBuilding.newDealID
equals myDeal.DealID
select new
{
TypeID = myBuilding.newTypeID,
UsageID = myBuilding.newUsageID,
AreaID = myBuilding.newAreaID,
CityID = myBuilding.newCityID,
PriceByRent = myBuilding.newPriceByRent,
PriceByMonth = myBuilding.newPriceByMonth,
PriceByMeter = myBuilding.newPriceByMeter,
DealID = myBuilding.newDealID,
BuildingDescr = myBuilding.newBuildingDescr,
BuildingAddress = myBuilding.newBuildingAddress,
ProvinceTitle = myBuilding.newBuildingProvince,
CityTitle = myBuilding.newBuildingCity,
AreaTitle = myBuilding.newBuildingArea,
TypeTitle = myBuilding.newBuildingType,
UsageTitle = myBuilding.newBuildingUsage,
DealTitle = myDeal.DealTitle
};
ListView1.DataSource = g.ToList();
ListView1.DataSourceID = null;
ListView1.DataBind();