.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

Dynamic Linq in MVC

Posted By:      Posted Date: October 03, 2010    Points: 0   Category :ASP.Net

I just tried out the dynamic linq library Scott Gu released quite awhile ago, and I'm having some problems with it. One of my Views allows users to choose which columns to display and what to order by. So, I have code like this:


// 'SerializeToCsv' is a helper method I set up for List<string> collections.
var projects = context.s_Projects
    .Select("new(" + columns.SerializeToCsv() + ")");

This builds the query just fine, but here's the rub - I want the actual data, not the query. I thought that, after running the Select, I would get the data returned to me, but this was not correct. In Scott Gu's example, he unfortunately uses a Web Forms databinding example, which is completely useless for me. I'm not databinding this query to a web control, I just need the data. There aren't any methods I can tack on like "ToList" to get it to resolve, so what do I need to do to make the query run?

View Complete Post

More Related Resource Links

Map LINQ: Create Dynamic Maps with Visual Basic 9.0 and WPF


Scott Wisniewski uses Windows Presentation Foundation data binding along with LINQ and new XML features in Visual Basic to build an interactive app that maps demographic data.

Scott Wisniewski

MSDN Magazine December 2007

Dynamic LINQ Part 2 (Evolution)


A while ago, Scott Gu blogged about a Dynamic LINQ library that was part of the C# samples in VS2008. This library let developers put together late bound LINQ queries using a special syntax. This really comes in handy when you want to build a LINQ query based on dynamic input. Consider the following example:

public ActionResult List(string sort) {
    var northwind = new NorthwindEntities();
    IQueryable<Product> products = northwind.Products;
    switch (sort) {
        case "ProductName":
            products = products.OrderBy(p => p.ProductName);

Dynamic Class with Linq query Result

Hi, var   query = db.Customers.Where( "City == @0 and Orders.Count >= @1", "London", 10). OrderBy( "CompanyName"). Select( "New(CompanyName as Name, Phone)");    I am using this query as a sample which returns a dynamicclass type, and i need this should to converted to a list collections or datatable etc., As i am holding it in my wcf service with linqtosql as dataaccesslayer. Trying to send the results to the UI which i have consumes this service. Kindly help me in this. Thanks query = db.Customers

Dynamic where clause - Linq or SPQuery?

Has anyone tried to build a dynamic where clause in Linq to Sharepoint (i.e. search criterias are being modified at run time)? I think SPQuery/CAML is a better choice for this one..

Dynamic Linq query?

Please excuse my rookiness but is it possible to make a Linq query dynamic in the following pseduo code (to show what I'm trying to do)Dim objCustomoer = (From c In dc.CustomerLocation _ Where c.customerID = a1 _ And { c.zip = a2  OR  c.city = a3  OR  c.state = a4} _                             Select c).ToList() where a2 and a3  and a4 are being populated from user controls and only one will apply.  So query is done by state,  zip or by city, but not by more than one, so the other two would be null.  So the operator is really "OR" but I haven't found anything on a "or" or "whereOr" operator.  How can I accomplish this?

dynamic table name linq-to-sql query


I am writing a function in which i generate autocode in specific format i want to make this function generalize so that i send tablename and columnname  parameter and function return the next code. I am using linq to sql with MVC e.g. i want to make table name and column name dyanamic

from m in db.<tblnameparam> 
                       orderby m.<colnameparam> descending
                       select m.<colnameparam>

Dynamic LINQ Outer Join


Hey folks,

I want to do an outer join on an IQueryable without LINQ.

I have this query on all my services which differs only by one property reference. I want to abstract it away but I need to substitute the property reference with something I can pass in as an argument.

Heres the query:

var secureList = (from l in list
                join ep in meta.EntityEffectivePermissions on new { EntityId = l.AnnouncementId, EntityType = "Announcement" } equals new { EntityId = ep.EntityId.Value, EntityType = ep.Name } into tempEEP
                from eep in tempEEP.DefaultIfEmpty()
                where !SecurityState || (eep.UserId == UserId && ((int)eep.Permissions & (int)Shivam.ASL.Core.Security.Permission.List) == (int)Shivam.ASL.Core.Security.Permission.List)
                select new { EntityId = l.AnnouncementId, Permissions = eep.Permissions.GetValueOrDefault() }).Distinct();

So the l.AnnouncementId (and obviously the string that I set to EntityType but that's easy) differ. I figured I could write this query using the IQueryable Join method but the documentation on this is just awful. I have found an example on how to use it but I am unsure as how to achieve a left join effect with it. Can someone help?


Dynamic LINQ Where problem




I stumbled upon a problem while using Dynamic LINQ which is provided by Scott Guthrie. Basically I need a functionality where the user would be able to search by anything while on a gridview. Now the issue is that when the field to be searched is a string it works without problems, when it is an interger it is giving me a {"Operator '=' incompatible with operand types 'Int32?' and 'String'"}. Now the issue is that I would not be able to know what datatype the field is. If I convert the data to an INT it works without problems, but as I said I cannot since I would not be able to know beforehand the database data type. The place where it is giving me the error is shown in bold.


The second issue is that I have a CONTAINS functionality where the user would be able to type in anything and the system will create a CONTAINS linq statement to search for data. For one field it works without problems, while for another field the CONTAINS does not work and it gives me an OBJECT NOT SET TO AN INSTANCE when I try to access the list.  The code is shown underneath. I am using MVC and jqGrid.

private static string BuildWhereClause(JQGridRequest.SearchOperatorOptions SearchOperator, string FieldName)




LINQ to SQL weirdness w/ Dynamic Data and OneToOne relationship(s)


I am working with a Dynamic Data website where ScaffoldAllTables is true. 

I have a table that has a sister table with a foreign key. So I have my Account Table , which is the parent. There is an 'Insurance' table, which has an account ID. there's only ever one insurance record per account record.

To make this correct in the .dbml file, I changed the association for Accounts and Insurance to be OneToOne. I also set a DisplayColumn Attribute on Insurance so that it shows the correct string in the foreign key control.

However, Since I did that, my 'View' link for the foreign key is now not active. Even though Insurance is a scaffolded table (and I tried manually setting it to scaffold anyways), it is not letting me navigate via the DynamicHyperlink. Any ideas?

Dynamic LINQ statement?


Is it possible to generate dynamic LINQ statements? I need to be able to build conditional "WHERE" clauses for some of my LINQ statements. I don't want to write a giant block of code to hand every possible combination of filters, sorts and groups. I found a article online that outlines how to use string based where clauses here. Does LINQ in framework 4.0 no longer support this? Every example I've found has giant walls of virtually unreadable, must likely unmaintainable code.

Linq Query with dynamic where clause i.e filter with dynamic no of filter columns



I want a linq query with dynamic where clause.

Following is explanation of problem:


Following line returns me n no of rows.

IEnumerable<XElement>  xeleRows = (from xele in xdocFile.Root.Elements(strCtlLookUpXMLNode) select xele);

structure of xeleRows will be like:













Now I want to get one row from N Number of rows on basis of filter criteria that can be dynamic, the no of columns in filter criteria will vary at run time.

Anybody know shows to achieve this using Linq. Please guide.



Get input for linq query from dynamic checkboxlist


Hello All,

I have a question, I have a dynamicly filled checkbox list which is filled by a SQL datasource.

That works fine, users can select multiple items in the checkboxlist. Further more there are several textboxes which the user can fill in.

Based up on the items checked and the data in the textboxes a Linq query should be fired, can anyone tell me how I can build the query based on the selected items (should be a loop i guess) and the filled textboxes?

Thanks in advance,



Playing with Linq grouping: GroupByMany?

One of its features is grouping. Many people understand grouping like it is defined in Sql. Linq is implementing grouping quite the same way. Let's discover this syntax and how to make consecutive groups easier.

LINQ : Implementing IN and NOT IN

I got tried of typing

var result = from s in source
where items.Contains(s)
select s;and so I implemented the IN and NOT IN methods as extension methods:

101 LINQ Samples Tutorials

101 LINQ Example with sample code snippets....This sample prints each element of an input integer array whose value is less than 5. The sample uses a query expression to create a new sequence of integers and then iterates over each element in the sequence, printing its value

Linq: how to share parameters between lambda expressions ?

When using Linq to objects, you will quickly feel the need to pass some parameters from a method to another but it's not so easy because each Linq method is not calling the following one. In a Linq sequence, each method is using the result computed by the previous one. So, local contexts are not visible from one method to another.
The compiler is using two technical different ways to let parameters go out of a method.

Linq to Sql CompiledQuery container

Ok now let's go. Here is just a little trick but with some interesting patterns that could be useful in some other contexts not connected to Linq to Sql.

When using Linq expressions, like with Linq to Sql, translating the expression into something else (sql for example) is taking time and resources. Sometimes it's negligible, sometimes not...
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend