ASP.NET Identity DbContext confusion

I would use a single Context class inheriting from IdentityDbContext. This way you can have the context be aware of any relations between your classes and the IdentityUser and Roles of the IdentityDbContext. There is very little overhead in the IdentityDbContext, it is basically a regular DbContext with two DbSets. One for the users and … Read more

Delete a single record from Entity Framework?

It’s not necessary to query the object first, you can attach it to the context by its id. Like this: var employer = new Employ { Id = 1 }; ctx.Employ.Attach(employer); ctx.Employ.Remove(employer); ctx.SaveChanges(); Alternatively, you can set the attached entry’s state to deleted : var employer = new Employ { Id = 1 }; ctx.Entry(employer).State … Read more

DbEntityValidationException – How can I easily tell what caused the error?

The easiest solution is to override SaveChanges on your entities class. You can catch the DbEntityValidationException, unwrap the actual errors and create a new DbEntityValidationException with the improved message. Create a partial class next to your SomethingSomething.Context.cs file. Use the code at the bottom of this post. That’s it. Your implementation will automatically use the … Read more

“A lambda expression with a statement body cannot be converted to an expression tree”

Is objects a Linq-To-SQL database context? In which case, you can only use simple expressions to the right of the => operator. The reason is, these expressions are not executed, but are converted to SQL to be executed against the database. Try this Arr[] myArray = objects.Select(o => new Obj() { Var1 = o.someVar, Var2 … Read more

Entity Framework: One Database, Multiple DbContexts. Is this a bad idea? [closed]

You can have multiple contexts for single database. It can be useful for example if your database contains multiple database schemas and you want to handle each of them as separate self contained area. The problem is when you want to use code first to create your database – only single context in your application … Read more