protected override ValidationResult IsValid(object value, ValidationContext validationContext) { var db = new FinancesContext(); Object obj = validationContext.ObjectType; System.Diagnostics.Debug.WriteLine(obj.ToString()); var className = obj.ToString().Split('.').Last(); var propertyName = validationContext.MemberName; var parameterName = string.Format("@{0}", propertyName); var sql = string.Format("SELECT COUNT(*) FROM {0} WHERE {1}={2}", className.ToLower() + "s", propertyName, parameterName); var parameters = new Npgsql.NpgsqlParameter(parameterName, value); var result = db.Database.SqlQuery <Int64>(sql, parameters).Single(); if (result > 0) { return(new ValidationResult(String.Format(ErrorMessage, value), new List <string>() { propertyName })); } return(null); }
static void Main(string[] args) { using (var context = new FinancesContext()) { context.Database.EnsureDeleted(); context.Database.EnsureCreated(); } RegisterCustomers().Wait(); ListCustomers().Wait(); }
static async Task RegisterCustomers() { using (var context = new FinancesContext()) { var customers = GetCustomers(); foreach (var customer in customers) { await context.Customers.AddAsync(customer); } await context.SaveChangesAsync(); } }
static async Task ListCustomers() { using (var context = new FinancesContext()) { var customers = await context.Customers .Include(customer => customer.Accounts) .ThenInclude(account => account.Transactions) .ToListAsync(); foreach (var customer in customers) { DisplayCustomerData(customer); } Console.ReadKey(); } }
public FinancesController(FinancesContext context) => _context = context;
public UserRepository(FinancesContext context) { _context = context; }