2017年4月30日日曜日

EntityFrameworkの登場で、SQLを覚えなくても良くなったのか!?


EntityFrameworkの登場で、SQLを覚えなくても良くなったのか!?

SQLを一切使わずにデータ取得できる。

基本的は、データセットとあまり変わらないが、LINQをつかってSQLを発行するところがデータセットと異なるところ。


LINQを覚えるのかSQL知ってるから、そっちのが早いし速いって思うけれど、時代の流れ的にLINQをバシバシ使う時代になっているようだから、LINQでやるか。


一体同じことをする為に、何回やり方を変えさせるんだろうか・・・・・


因みにEntityFrameworkのコードファーストで取り掛かった場合、データベースやテーブルすらも自動的に作られていく。。。


もはやデータベースエンジニアが必要なくなってきたなぁ。。。。

因みにテーブルがあれば、下のModelクラスは全部勝手に生成される。

プログラムが全く必要ない世界。

自分には違和感だらけだけれども・・・



MYSystem.Context.cs
    public partial class MYSystemEntities : DbContext
    {
        public MYSystemEntities()
            : base("name=MYSystemEntities")
        {
        }
 
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            throw new UnintentionalCodeFirstException();
        }
 
        public virtual DbSet<M_PurgerCommodity> M_PurgerCommodity { get; set; }
    }

M_PurgerCommodity.cs
public partial class M_PurgerCommodity
{
        public long PuageID { get; set; }         public string PurgeCategory { get; set; }
        public string PurgeCommodityCode { get; set; }
        public Nullable<System.DateTime> UpdateDate { get; set; }
        public string UpdateUser { get; set; }
        public Nullable<System.DateTime> CreateDate { get; set; }
        public string CreateUser { get; set; } }


実行
LINQでデータ取得しています。
            var MYSystem = new MYSystemEntities();

            var Purge = MYSystem.M_PurgerCommodity.Where(x => x.PurgeCategory == "Rakuten").ToArray();