菜鸟重新了解C#

  记得最开始学习C#的时候,framework还是2.0 ... 现在心血来潮看到最新的C# MVC5+EF6 就尝试的搭了一下。

  按照其它前辈的方式一步一步也算,正常搭建并能显示数据了。

  期间遇到的问题,就是直接写的linq竟然查不出来数据...
 
  丢人丢大了。

                  列表  
            var register = from s in db.CrazyRegisterUsers
                           where s.cruId < 500
                           select s;
            根据ID排序  
            register = register.OrderBy(x => x.cruId);


  代码片断:
   public class CrazyRegisterContent : DbContext
    {


        static CrazyRegisterContent()
        {
            Database.SetInitializer<CrazyRegisterContent>(null);


        }




        //CrazyRegisterContent:DefaultConnection
        public CrazyRegisterContent() : base("CrazyRegisterContent") { }


        public DbSet<CrazyRegisterUser> CrazyRegisterUsers { get; set; }
    }
   }
  但是用以下方式,竟然可以查出来数据,百思不得其姐 :)
   //数据库上下文操作对象
   CrazyRegisterContent db = new CrazyRegisterContent();               
   List<CrazyRegisterUser> list1 = db.Database.SqlQuery<CrazyRegisterUser>("SELECT CRU_ID as cruId,CRU_EMAIL as cruEmail,CRU_NAME as cruName,CRU_PASSWORD as cruPassword,CRU_FLAG as cruFlag,CRU_UPDATEDATE as cruUpdateDate,CRU_CREATEDATE as cruCreateDate FROM CRAZY_REGISTER_USER WHERE CRU_ID<100 ").ToList();
   // db.Database.ExecuteSqlCommand("UPDATE CRAZY_REGISTER_USER SET CRU_UPDATEDATE=GETDATE() ");
   ViewData["DataList"] = list1;

  最后查了各种资料终于发现,是实体类映射的问题 ... 
  资料如下:Entity Framework Code First关系映射约定
  http://www.cnblogs.com/libingql/p/3353112.html


改进后的,这个是个人手动映射写法,有自动生成的不用自己写(:


using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;


namespace crazyhearted.Models
{
    [Table("Crazy_Register_User", Schema = "dbo")]
    public class CrazyRegisterUser
    {
        
        //实体类
        [Key]
        [Column("cru_id")]
        public int cruId { get; set; }
        [Column("cru_email")]
        public string cruEmail { get; set; }
        [Column("cru_Name")]
        public string cruName { get; set; }
        [Column("cru_Password")]
        public string cruPassword { get; set; }
        [Column("cru_Flag")]
        public string cruFlag { get; set; }
        [Column("cru_UPDATEDATE")]
        public DateTime cruUpdateDate { get; set; }
        [Column("cru_CREATEDATE")]
        public DateTime cruCreateDate { get; set; }


    }
}



习惯了JAVA的开发模式先创建的表,再生成的实体类,突然有点不习惯了。

后来发现别人EF不是这么玩的,是先写代码再通过代码生成表~~~..哎,老了。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值