Telerik OpenAccess - 将Varchar映射到Int

时间:2014-08-04 09:56:49

标签: telerik odata telerik-open-access

我正在尝试使用OData对数据库中设置为varchar类型的值运行整数比较(例如,大于或小于)。在我执行查询或映射时,有一种方法可以告诉Telerik OpenAccess将字段转换为整数类型,从而将更改数据库字段的解决方案改为int类型的解决方案?

提前致谢。

1 个答案:

答案 0 :(得分:0)

与此类似:Handling Dates with OData v4, EF6 and Web API v2.2

再添加一个属性:

public partial class Title
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string StringProperty { get; set; }
}

public partial class Title
{
    [NotMapped]
    public int IntProperty
    {
        get
        {
            return StringProperty==null?0;Int32.Parse(StringProperty);;
        }
        set
        {
            StringProperty = value.ToString();
        }
    }
}

更新模型:

public static IEdmModel GetModel()
{
    ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
    EntityTypeConfiguration<Title> titleType= builder.EntityType<Title>();
    titleType.Ignore(t => t.StringProperty);
    titleType.Property(t => t.IntProperty ).Name = "MyProperty";

    builder.EntitySet<Title>("Titles");

    builder.Namespace = typeof(Title).Namespace;

    return builder.GetEdmModel();
}