var operations = (from c in dCAPPEntities.CIC_OPERAZIONI
where c.CD_CIC_PRODUZIONE == 15835 && !(from s in dCAPPEntities.CIC_SEQUENCE where s.CD_CIC_PRODUZIONE==15835 select s.CD_CIC_OPERAZIONE).Contains(c.CD_CIC_OPERAZIONI) select new { c }).GroupBy(i=>i.c.CD_CIC_OPERAZIONI, i=> new Alternative1{ State=0, Iden=i.c.Iden});
에 문제가 있어요. 이니셜 라이저, 엔티티 구성원 및 엔티티 탐색 특성 만 지원됩니다.
Iden = ""이 쿼리에서 작동하면 오류가 발생하는 이유를 알 수 없습니다.
나는 또한 내가 사용하는 몇 가지 클래스의 코드를 추가합니다 내가 문제를 이해하는 데 유용 할 수 있다고 생각 테이블
public partial class CIC_OPERAZIONI : IAlternative
{
public string Iden
{
get
{
return AFCDOPER + "\r" + AFDSOPER;
}
}
private int _state = 0;
public int State
{
get { return _state; }
set
{
_state = value;
}
}
}
마지막 클래스를 확장
public interface IAlternative
{
string Iden { get; }
int State { get; set; }
}
부분 클래스를
public class Alternative1 : INotifyPropertyChanged, IAlternative
{
public event PropertyChangedEventHandler PropertyChanged;
#region IAlternative Members
public string Iden { get; set; }
public int State { get; set; }
이 경우에는 다른 오류가 발생합니다.이 유형은 캐스팅에 대한 것입니다. 'System.Decimal'형식을 'System.Object'형식으로 변환 할 수 없습니다. 엔터티에 대한 LINQ는 엔터티 데이터 모델 기본 형식을 캐스팅하는 기능 만 지원합니다. 하지만 LINQ 표현식에서 ToString을 사용할 수는 없습니다. – andrea
그리고 문자열 속성 만 남기면 쿼리가 제대로 실행되지만 Iden은 항상 NULL로 설정됩니다. – andrea
질문에 10 진수 속성에 대해 아무 것도 표시되지 않습니다. 그것에 관한 속성은 무엇입니까? C#에서'AFCDOPER + "+ AFDSOPER가 작동하려면 AFCDOPER와 AFDSOPER가 문자열 속성이어야합니다. 맞습니까? – hvd