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?

有帮助吗?

解决方案

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top