This is the way I can create an „association class“ in MDriven.
Is there an equivalent in Entity Framework (especially EF Core)?
I am aware that this can be done by this:
but this is not really „elegant“, I‘d rather prefer something the first way.
How can the first version be coded (Code-First) in EF.Core (if possible)?
TIA,
Levend
Related
I am converting from nhibernate to EF 5.0 as I want to see if it will make my life easier(having way too many problems with the Spatial 3rd library)
What is the equivalents for these fluent nhibernate mappings
References
HasMany
HasManyToMany
HasOne
I am using separate files(EntityTypeConfiguration) like I would with nhibernate fluent instead of putting it all with the db context.
There you go: http://msdn.microsoft.com/en-US/data/jj591620
Instead of modelBuilder.Entity() use "this".
BTW. I know you're coming from nHibernate, but much of EF magic comes from conventions. Yeah, you can specified everything if config files, but why not try conventions first? Saying that if you work on some big, huge, finance project then may stick to configs.
Oh, and this may be confusing:
modelBuilder.Entity<OfficeAssignment>()
.HasRequired(t => t.Instructor)
.WithOptional(t => t.OfficeAssignment);
It works like that:
OfficeAssignement has required Instructor, after this call you are at instructor, so instructor has optional OfficeAssignement. I found this confusing when I started with EF
Does anyone know why LinqPad cannot autogenerate an Entity Framework context object (like it does with Linq-to-SQL)? It seems I have to create an assembly containing an EF context and then reference the assembly in LinqPad. But I don't need to do this with L2S.
Thanks very much.
LINQPad uses LINQ-to-SQL for automatic data contexts because it's lighter and faster. LINQ-to-SQL also generates better SQL in many cases and allows arbitrary functions in the final projection.
It wouldn't be hard, in principle, to write a driver for Entity Framework. The reason it isn't present as an option is lack of demand.
If you wanted, you could implement EF support seamlessly as a third-party driver. The only tricky thing to implement is supporting every version of EF.
EF and ORM.
I recently realized that is possible using POCO to have clean classes not plumbed with EF auto generated code.
I saw the new release of EF 4.1 and the use of Code First approach and DbContext.
My questions:
What is the difference between Code First approach and Poco approach?
Can we use Code First (DbContext and DbSet) instead of POCO + Repository pattern?
Thanks for your time on this.
They're completely different things, and you can use them together.
POCO means that your entity classes are "normal" classes, not dependent on any specific ORM layer.
A DbContext is an object that enables you to access the database in an object-oriented way (like ObjectContext in earlier versions of EF).
Have a look at this tutorial for examples.
We are about to start using EF as our ORM. We have our own MetaData representing the databse stracture and we will generate whatever we need off of that.
We are wondering whether to use the "old" EDMX approace, or to use the new EDMX free approach (wiht DbSet and DbContext). As we do our own code/edmx generation it seems odd to generate an EDMX and then generate objects and context off of it.
The thing is I don't see much talk about about the EDMX free approach. Is it being used by anyone? Can someone with experience share their impressions? Are there known limitations? Are there pros and cons?
Asher
Are you asking if anybody is using code-first? :) By checking the number of questions in entity-framework-4.1 and code-first and ef-code-first I guess people are using it a lot. There were several questions about code-first x non code-first. Some of I answered:
EF POCO code only VS EF POCO with Entity Data Model
EF Model First or Code First Approach?
EF 4.1 Code-first vs Model/Database-first
Generally there are four approaches:
Model first (database generated from EDMX)
Database first (EDMX generated from database)
Code first (database generated from code mapping)
Database first with code mapping (code mapping manually created for existing database or manually updated mapping generated by EF Power Tools CTP)
Selection of the approach usually depends on the way how you want to develop application (as described in linked answers). It also depends if you want to use ObjectContext API or DbContext API. The former one is usually used with first two approaches (but the secret is it should work with code-first as well) the later one with all of them.
Code first has some limitations - it doesn't support all mapping features EDMX does for example:
Stored procedures mapping (it doesn't mean you cannot execute SP when using code first)
SQL functions mapping
Advanced EDMX features like defining queries, query views, model defined functions
etc.
What I don't understand is why are you trying to combine your code generation tool with EF. Either use your stuff or use EF's stuff. You will avoid complications and incompatibilities.
HI,
I'm a bit lost with Entity Framework ...
Here is the context : Desktop Application (C# / Winform)
VS 2010 (SP1), SQL COMPACT (4.0 for identity), ... for now EF 4 (default version)
I've just started a new app and i've thinking of using EF because it seems that it's a quickest way to design both model and database (i know that it's not the best way but my project is not critical).
building the model with graphic designer is very convenient, i can easyly build the sql compact schema' and i can access model class directly.
But i need to add some feature to my model class (overriding ToString for example or some basics functions), so it seem that i need to make POCO classes.
But the problem is after generating these classes, how can i update these without losing added code , what's the best way to doing that ? partial class ?
Moreover, it seem that EF dev are focusing on Code First, so does it mean that Entity Model are already deprecated ?
EF generates partial classes, so you are right - in order not to lose the extra code you add, you need to create separate files and use the partial class feature. Those files won't be re-written once the model is saved.
Moreover, it seem that EF dev are
focusing on Code First, so does it
mean that Entity Model are already
deprecated ?
No, it's not deprecated. Using Code First is just a matter of preference, but you can feel free to use the EDM - it's not going anywhere.