0

我正在尝试使用 OData 对数据库中设置为 varchar 类型的值运行整数比较(例如大于或小于)。删除将数据库字段更改为 int 类型的解决方案,因为在我的特定情况下它不是首选,有没有办法告诉 Telerik OpenAccess 在执行查询或映射时将字段转换为整数类型?

提前致谢。

4

1 回答 1

0

它与此类似:使用 OData v4、EF6 和 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();
}
于 2014-08-06T03:41:52.747 回答