2012-07-10 43 views
5

tôi biết rằng LINQ to Entities không hỗ trợ nhà xây dựng parametrized, nhưng làm thế nào để làm điều này pls:LINQ to Entities parametrized constructor Datetime

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

Tổng số ví dụ:

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

Làm thế nào để làm điều này ?

Trả lời

10

Sử dụng phương pháp EntityFunctions CreateDateTime tìm thấy ở đây: http://msdn.microsoft.com/en-us/library/system.data.objects.entityfunctions.createdatetime

Những phương pháp helper được xây dựng để dịch cho một SQL tương đương, như đã nêu trong bài phát biểu của liên kết:

Bạn không thể gọi chức năng này trực tiếp . Chức năng này chỉ có thể xuất hiện trong một truy vấn LINQ to Entities.

Chức năng này được dịch sang một hàm tương ứng trong cơ sở dữ liệu .

+1

Điều này hiện được thay thế bằng System.Data.Entity.DbFunctions.CreateDateTime – youen

+0

Ví dụ nhỏ với "CreateDateTime" sẽ đẹp. Cảm ơn –

Các vấn đề liên quan