Question

I have added a property to a partial class of a model. This property will retrieve a model from database according to property value.

Example:

class movie
{
    int language;
}

partial movie 
{
    public Language SpokenLanguage
    {
       get
       {
          var currLang = db.Languages.Where(ml => ml.ID == this.language).FirstOrDefault();
          return currLang;
       }
   }
}

Is this approach will affect application performance when I retrieve a list of movies?

If so what is the equivalent and better performance?

Was it helpful?

Solution

EF will ignore the SpokenLanguage property in your case.

However, you can make EF retrieve the SpokenLanguage using a INNER JOIN by adding a relation in your model between the two tables.

You can also make it retrieve the SpokenLanguage lazily (on demand)-it will actually make a better version on what you wrote, but if you are sure you want to print the language label in your view, it's better to retrieve it using a INNER JOIN.

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