Question

We have an ASP.NET MVC application. Is it correct to think of the models as the "entities" in the system?

Presumably this comes down to the "type" of model (view or domain) - and if they are domain models then they are equivalent to entities?

Edit: I ask the question to determine whether the introduction of the "entity" nomenclature into our project is useful, or confusing.

Was it helpful?

Solution

As far as I'm concerned, you nailed it. Your distinction between view and domain models is correct. A domain model can be considered equivalent to an entity.

To answer your second question, I don't think it is necessary to introduce the entity nomenclature into your project, but I don't think it would be too confusing if this is something you wanted to do. I typically move my domain models into a separate project. I use the stock Models folder to hold my view models

[EDIT] Based on the comments below, I thought I would clarify one thing. Specifically in the context of the Entity Framework, a domain model encompasses more than your DB entities. For example, a Custom Type representing an Address (Address 1/2/3, City, State, Zip, etc.) would also be a domain model even though it isn't given the name "Entity" by the Entity Framework.

OTHER TIPS

To paraphrase what wikipedia has to say on the subject, an entity is an object in the domain model that is not defined by its attributes, but rather by a thread of continuity and identity.

My understanding is an entity's identity and uniqueness are its defining quality. No two entities can have the same identity.

An entity is a domain model, although a domain model may not necessarily be an entity. Vaulue objects such as credit cards, addresses, dates, currency, are (or can be) domain models also.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top