linq to entity 的文集集锦

这几天用linq to entity 遇到了写问题
1.不支持 arrayindex,也就是不支持实体类型数组。这也难怪,本来数据库就没有数组这个类型。
2.不支持indexof,这样的话虽然linq to entity 支持substring,但是我们就不能用substring 切分字符串了
3.不支持string to int 的转换。这样我们就没办法比较了。

如果不想该数据库 这个问题没办法应付了
我只有部分解决方案
1

   public class Mark
    {  
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int id { get; set; }
        public string name { get; set; }
        public string url{ get; set; }
        public string img { get; set; }
        public string points { get; set; }
        public double[] point
        {
            get
            {
                return Array.ConvertAll(points.Split(';'), Double.Parse);
            }
            set
            {

                points = String.Join(";", value.Select(p => p.ToString()).ToArray());
            }
        }
        public int percent{ get; set; }
        public string status { get; set; }
        public DateTime time { get; set; }
       // public virtual UserProfile belongsto { get; set; }
       // public UserProfile belongsto { get; set; }
       // [ForeignKey("UserProfile")]
        public int belongsto { get; set; }
        [ForeignKey("belongsto")]
        public virtual UserProfile UserProfile { get; set; }

    }

使用在getset里面添加这些信息虽然可以使用。但怎么用还在摸索中。
2.
解决方法很简单只要使用
System.Data.Objects.SqlClient.SqlFunctions.CharIndex(“;”, mark.points).Value
当然System.Data.Objects.SqlClient.SqlFunctions里面还有其他函数,他可以把int等转化成string 但是却不能吧string 转化成int shit。

第三个暂时没有办法。所以以上方案就没法了。只能把数据库改了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值