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