国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

EntityFramework6.0對枚舉的支持/實體添加后會有主鍵反回

2019-11-14 16:28:50
字體:
來源:轉載
供稿:網友

實驗

直接上代碼,看結果

實體類

[Flags]    public enum FlagsEnum    {        Day = 1,        Night = 2    }    public class EntityWithEnum    {        public int ID { get; set; }        public FlagsEnum ValidTime { get; set; }    }

 

數據庫上下文

public partial class CodeFirstModel : DbContext   {        public CodeFirstModel()            : base("name=CodeFirstModel")        {        }        public virtual DbSet<EntityWithEnum> EntityWithEnum { get; set; }}

Sql server LocalDb的連接字符串

<connectionStrings>    <add name="CodeFirstModel" connectionString="data source=(LocalDb)/MSSQLLocalDb;initial catalog=TestDb;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework" PRoviderName="System.Data.SqlClient" />  </connectionStrings>

 

主函數

 

static void Main(string[] args)        {            //CreateDatabaseIfNotExists            //DropCreateDatabaseIfModelChanges            //DropCreateDatabaseAlways            Database.SetInitializer(new DropCreateDatabaseIfModelChanges<CodeFirstModel>());            using (var context = new CodeFirstModel())            {                context.Database.Initialize(true);            }            using(CodeFirstModel db = new CodeFirstModel())            {        EntityWithEnum entity = new EntityWithEnum() { ValidTime = FlagsEnum.Day };                db.EntityWithEnum.Add(entity);                entity = new EntityWithEnum() { ValidTime = FlagsEnum.Night };                db.EntityWithEnum.Add(entity);                entity = new EntityWithEnum() { ValidTime = FlagsEnum.Night| FlagsEnum.Day };                db.EntityWithEnum.Add(entity);                db.SaveChanges();                Console.WriteLine("{0}:/t{1}", entity.ID, entity.ValidTime);                Console.WriteLine("-------------------");                var entitys = from e in db.EntityWithEnum                              where e.ValidTime.HasFlag(FlagsEnum.Day)                              select e;                foreach (var item in entitys)                {                    Console.WriteLine("{0}:/t{1}", item.ID, item.ValidTime);                }                            }            Console.ReadKey(true);}

運行結果

捕獲

 

結論

Entity Framework 6.0 的 LINQ 是可以直接寫 枚舉的 HasFlags 方法的.

Add 的實體在 數據庫保存后,會將數據庫生成好的主鍵讀出來.不用再寫LINQ 再查一遍了.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳高县| 泸定县| 天峨县| 乌兰察布市| 北碚区| 兴义市| 宝鸡市| 江西省| 永寿县| 旺苍县| 武山县| 德安县| 溆浦县| 普兰县| 满洲里市| 黔江区| 嘉义市| 安国市| 霍林郭勒市| 嵊泗县| 鹤山市| 烟台市| 沈阳市| 沂源县| 元谋县| 南乐县| 新建县| 英山县| 敖汉旗| 吉隆县| 宁明县| 德格县| 长宁区| 驻马店市| 乳源| 天柱县| 疏附县| 磐安县| 田林县| 南通市| 永嘉县|