Я не знайшов як це можна зробити нормально, виглядає так що не можна отримати значення за замовчуванням яке записане в базі даних, ось код який робить приблизно те що ви хочете.
namespace ConsoleApplication10 { class Program { static void Main(string[] args) { using (var context = new MD()) { context.Ens.ToList().ForEach(x => context.Ens.Remove(x)); context.SaveChanges(); var en = new En() { TestName = "qq" }; var en2 = new En() {TestValue = 2}; var en3 = new En() {TestValue = -2}; context.Ens.Add(en); context.Ens.Add(en2); context.Ens.Add(en3); context.SaveChanges(); var items = context.Ens.ToList(); } } } public class En { public En() { TestValue = _defaultTestValue; } private const int _defaultTestValue = 10; private int _testValue; public int ID { get; set; } public string TestName { get; set; } public int TestValue { get { return _testValue; } set { _testValue = value < 0 ? _defaultTestValue : value; } } } public class MD : DbContext { public virtual DbSet<En> Ens { get; set; } } }
Дякую. При пошуках знайшов, що дана фіча буде добавлена в наступних версіях entity framework, поки можливості використання дефолтних значень з БД не має