Why is it not a good idea to use Entity Framework models as domain models?

[still in progress]

What if I use Entity Framework POCO objects in my domain? I want some data from one of the tables in my database, a collection with only some of the column values.

I have two possible options if I want to load some of column values from database when I use EF POCOs as my domain models:

  1. I can load all column values (even though I need only a subset)
    • This will affect performance, perhaps mostly ignorable but you can never be sure.
    • We will have more parameter/input/data whatever you call than what we really need in the context of execution. It will create confusion.
  2. We can load only necessary fields/columns. it will cover the possible performance issues. However, we will still have those irrelevant fields in the context of execution with default values of the types.

This doesn’t introduce errors or bugs to the running code . But it violates the simplicity of the function you provide.