2016-06-16 2 views
0

이 같은 내 EF 모델이 현재 날짜와 시작 날짜 사이.매개 변수

해당 데이터베이스는 다소 확정되어 있으며이 요구 사항이 db 쿼리 수준에서 충족되도록 변경할 수는 없습니다.

팝업하는

만 매개 변수가없는 생성자와 초기화가 엔티티에 LINQ 에서 지원되는 i는 에러를하고있는 중이 야 기본적인 실수는 무엇입니까?

더 중요한 것은 요구 사항을 달성하기 위해 코드를 어떻게 수정해야합니까?

감사합니다.

+0

문제가 무엇인지 정확하게 알려줍니다. 'class foo'는 매개 변수없는 생성자 만 사용해야합니다. –

+0

사실. 이것을 해결하는 방법은 무엇입니까? –

+0

생성자에서 매개 변수를 제거하고 대신 객체 초기화 구문을 사용하십시오. –

답변

0

당신이하려는 일을 할 수 없습니다. 이

public class foo 
{ 
    private static TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); 
    DateTime indianTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, INDIAN_ZONE); 
    string _name; 
    DateTime _startDate; 

    public foo() 
    { 
    } 

    public String Name { 
     get { return _name; } 
     set { _name = value; } 
    } 

    public Double dueInDays 
    { 
     get { return (indianTime - _startDate).TotalDays; } 
    } 

    public DateTime StartDate 
    { 
     get { return _startDate; } 
     set { _startDate = value; } 
    } 
} 

API 방법 ... 당신이받을거야만큼 좋다 -

또는
[Route("api/getSingleData")] 
[HttpGet] 
public dynamic getTestData() 
{ 
    var dataset2 = (from recordset in db.testDatas 
        select new foo 
        { 
         Name = recordset.Name, 
         StartDate = recordset.StartDate 
        }); 
    return new { data = dataset2 }; 
} 

과 마찬가지로 당신이 foo는 유지할 수 ....

[Route("api/getSingleData")] 
[HttpGet] 
public dynamic getTestData() 
{ 

    var dataset2 = (from recordset in db.testDatas 
        select recordset 
        ).ToList(); 

    return new { data = dataset2.select(r => new foo(r); }; 
} 
0

부분 클래스를 사용하여 계산 된 필드를 만들려고 했습니까? 예 :

public partial class testDatas 
{ 
    public int duInDays 
    { 
     get 
     { 
      TimeZoneInfo INDIAN_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); 
      DateTime indianTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, INDIAN_ZONE); 
      return (indianTime - StartDate).TotalDays; 
     } 
    } 
}