在实体框架中使用SqlQuery时,别名列不映射到实体上的属性

时间:2012-05-19 03:37:39

标签: asp.net-mvc-3 entity-framework-4

我正在使用一个原始SQL语句,我有一个名为“Distance”的别名列,我想将该值存储到我的实体的部分类的新属性中。但是,当我执行查询时,实体框架会映射除此别名列之外的所有内容。我应该怎么做才能将别名列距离映射到我班上的属性距离?

部分类

 [MetadataType(typeof(ParishMD))]
    public partial class Parish
    {

        public List<SelectListItem> States { get; set; }
        public double Distance { get; set; }

        .........
    }

控制器类方法

string SQL = "select * from (select *, Distance = ((ACOS(SIN({0} * PI() / 180) * SIN(lat * PI() / 180) + COS({0} * PI() / 180) * COS(lat * PI() / 180) * COS(({1} - Long) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) from dbo.Parish) t where Distance < 10 order by Distance asc";

 SqlParameter latParam = new SqlParameter("latitude", latitude);
 SqlParameter lngParam = new SqlParameter("longitude", longitude);
 object[] parameters = new object[] { latitude, longitude };


 var parishes = db.Parish.SqlQuery(SQL, parameters);

我在这个类上有大约12个属性,我在映射到数据库表的EDMX文件中映射,并且这些属性被正确映射。 Distance 属性不是我桌子上的列,因此它不在EDMX中。不确定这是不是我没有映射的原因。

感谢您的帮助!

跳蚤

0 个答案:

没有答案