存储过程返回的是实际表的数据,在实体里的定义是这样的:
public enum ProductType { Type1, Type2 } public class Product { public int ProductTypeId{get;set;} public ProductType ProductType { get { return (ProductType)ProductTypeId; } set { ProductTypeId = (int)value; } } } public partial class ProductMap : EntityTypeConfiguration<Product> { public ProductMap() { this.ToTable("Product"); this.HasKey(p => p.Id); this.Property(p => p.Name).IsRequired().HasMaxLength(400); this.Property(p => p.MetaKeywords).HasMaxLength(400); this.Property(p => p.MetaTitle).HasMaxLength(400); this.Ignore(p => p.ZupoProductType); this.Property(p => p.ZupoProductTypeId) .HasColumnName("ProductType"); this.HasMany(p => p.ProductTags) .WithMany(pt => pt.Products) .Map(m => m.ToTable("Product_ProductTag_Mapping")); } }
在使用Translate的时候,报告ProductTypeId未找到列。
不支持这样的枚举转换吧,EF5可以直接将字段定义成枚举.你的版本是
跟枚举没关系。只是一个整型字段ProductType映射到属性ProductTypeId,因为ProductTypeId是非空的,而select的结果里只有ProductType而没有ProductTypeId。
我知道,只要在存储过程里把select语句的ProductType AS为ProductTypeId就可以了,但~~~很麻烦。
佳付通专业卡类消耗通道,API接口对接,回收各类充值卡,通讯卡,游戏卡,人工寄售,接口对接
高比例,抗投诉,秒结算,长期稳定!
QQ:1090603892
网址:www.lcardy.com 联系电话:0898-65637899