2012-07-10 12 views
5

so che LINQ to entità non supporta costruttori parametrizzati, ma come fare questo Pls:?LINQ to entità parametrizzata costruttore Datetime

date = new DateTime(int.Parse(SqlFunctions.StringConvert(l.rok).Trim()), int.Parse(SqlFunctions.StringConvert(l.mesic).Trim()), 1) 

intero esempio:

var objects = from object in GetObjects() 
        select new MyObject{ 
        name = object.name; 
        date = new DateTime(object.rok,object.month,object.day) 
        } 

Come fare questo ?

risposta

10

Utilizzare il metodo EntityFunctions CreateDateTime trovato qui: http://msdn.microsoft.com/en-us/library/system.data.objects.entityfunctions.createdatetime

Questi metodi di supporto sono state costruite per tradurre in uno SQL equivalente, come indicato nel commento di quel link:

Non è possibile chiamare direttamente questa funzione . Questa funzione può apparire solo all'interno di una query LINQ to Entities.

Questa funzione viene convertita in una funzione corrispondente nel database .

+1

Questo è ora sostituito da System.Data.Entity.DbFunctions.CreateDateTime – youen

+0

Un mini esempio con "CreateDateTime" sarebbe bello. Grazie –