Only initializers, entity members, and entity navigation properties are supported

the specified type member is not supported in linq to entities notmapped
the specified type member disabled is not supported in linq to entities
the specified type member enum is not supported in linq to entities

I'm getting this exception :

The specified type member 'Paid' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.

    public ActionResult Index()
    {
        var debts = storeDB.Orders
            .Where(o => o.Paid == false)
            .OrderByDescending(o => o.DateCreated);

        return View(debts);
    }

My Model class

public partial class Order
{
    public bool Paid {
        get {
            return TotalPaid >= Total;
        }
    }

    public decimal TotalPaid {
        get {
            return Payments.Sum(p => p.Amount);
        }
    }

Payments is a Related table containing the field amount, The query works if I remove the Where clause showing correct information about the payments, any clue what's wrong with the code?

Solved like the answer suggested with :

    public ActionResult Index()
    {
        var debts = storeDB.Orders
            .OrderByDescending(o => o.DateCreated)
            .ToList()
            .Where(o => o.Paid == false);

        return View(debts);
    }

Entity is trying to convert your Paid property to SQL and can't because it's not part of the table schema.

What you can do is let Entity query the table with no Paid filter and then filter out the not Paid ones.

public ActionResult Index()
{
    var debts = storeDB.Orders
        //.Where(o => o.Paid == false)
        .OrderByDescending(o => o.DateCreated);

    debts = debts.Where(o => o.Paid == false);

    return View(debts);
}

That, of course, would mean that you bringing all of the data back to the web server and filtering the data on it. If you want to filter on the DB server, you can create a Calculated Column on the table or use a Stored Procedure.

The specified type member is not supported in LINQ to Entities. Only , The specified type member is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported. The specified type member "Age" is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported. The specified type member 'AccommPropertyTags' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported. I have found how we can solve this on following article : Only initializers, entity members, and entity navigation properties are supported. But mine is a little bit odd.


Just had to solve a similar problem. Solutions above require in-memory processing, which is a bad practice (lazy loading).

My solution was to write a helper that returned a predicate:

public static class Extensions
{
    public static Expression<Func<Order, bool>> IsPaid()
    {
        return order => order.Payments.Sum(p => p.Amount) >= order.Total;
    }
}

You can rewrite your linq statement as:

var debts = storeDB.Orders
                    .Where(Extensions.IsPaid())
                    .OrderByDescending(o => o.DateCreated);

This is handy when you want to reuse the calculation logic (DRY). Downside is that the logic is not in your domain model.

'Date' is not supported in LINQ to Entities. Only initializers, entity , Only initializers, entity members, and entity navigation properties are supported." I have tried various attempts of casting everythign to a string,  The specified type member ‘Paid’ is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.


Linq converts the statements into SQL statements and execute them into database.

Now, this conversion only occurs for entities members, initializers and entity navigation properties. So to achieve function or get property comparison, we need to first convert them into in-memory listing and then apply function to retrieve data.

Therefore in totality,

var debts = storeDB.Orders.toList()
        .Where(o => o.Paid == false)
        .OrderByDescending(o => o.DateCreated);

MVC The specified type member 'FullName' is not supported in LINQ , type member 'FullName' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported. [SOLVED] - The specified type member is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported


This problem can also come from a [NotMapped] property that has the same name in your DB Model and View Model.

AutoMapper tries to select it from the DB during a projection; and the NotMapped property obviously does not exist in the DB.

The solution is to Ignore the property in the AutoMapper config when mapping from the DB Model to the View Model.

  1. Look for a [NotMapped] property with name Foo in your DB Model.
  2. Look for a property with the same name, Foo, in your View Model.
  3. If that is the case, then change your AutoMapper config. Add .ForMember(a => a.Foo, b => b.Ignore());

The specified type member '<Property>' is not supported in LINQ to , The specified type member 'Paid' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties The specified type member 'Mode' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported #2083


The other likely reason is because you are using IEnumerable for your property, instead of ICollection

So instead of:

public class This
{
    public long Id { get; set; }
    //...
    public virtual IEnumerable<That> Thats { get; set; }
}

Do this:

public class This
{
    public long Id { get; set; }
    //...
    public virtual ICollection<That> Thats { get; set; }
}

And you're hunky dory... stupid thing to lose 2 hours over.

The specified type member 'Id' is not supported in LINQ to Entities , Only initializers, entity members, and entity navigation properties are supported." Using this: private readonly IEntityReader<Site> _reader; // . The specified type member 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported. – SAR May 7 '17 at 10:14


[Solved] The specified type member 'fullname' is not supported in , Only initializers, entity members, and entity navigation properties are supported. I think Linq is trying to use Id field to generate sql query to get  The specified type member 'FullName' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported. CHill60 15-Mar-17 9:35am


The specified type member Date is not supported in LINQ to Entities , FullName is not an entity member(i.e. column name for the Person table), for this reason the query is not able to run. Can you try with LastName  Only initializers, entity members, and entity navigation properties are supported. tried all kinds of things but wasnt able to get around this yet Any ideas what i can do to fix this ? thanks Mike


Only initializers, entity members, and entity navigation properties are supported." Thanks .netmvclinq to entities. Views: 9431. Total Answered: 1 MVC The specified type member 'FullName' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported [Answered]RSS. 2 replies. MVC The specified type member 'FullName' is not supported in LINQ to Entities.