DAL로 LINQ-SQL을 사용하고 BLL 역할을하는 DB 프로젝트가 있습니다. 다양한 응용 프로그램은 BLL에 액세스하여 SQL 데이터베이스에서 데이터를 읽고 씁니다. 모든 꽤 똑바로 앞으로 내가 생각이러한 LINQ 쿼리의 차이점은 무엇입니까?
public IEnumerable<SystemSalesTaxList> Get_SystemSalesTaxList()
{
return from s in db.SystemSalesTaxLists
select s;
}
public SystemSalesTaxList Get_SystemSalesTaxList(string strSalesTaxID)
{
return Get_SystemSalesTaxList().Where(s => s.SalesTaxID == strSalesTaxID).FirstOrDefault();
}
public SystemSalesTaxList Get_SystemSalesTaxListByZipCode(string strZipCode)
{
return Get_SystemSalesTaxList().Where(s => s.ZipCode == strZipCode).FirstOrDefault();
}
:
나는 하나 개의 특정 테이블에 대한 내 BLL에서 이러한 방법이있다.
Get_SystemSalesTaxListByZipCode
은 해당 테이블에 우편 번호가있는 경우에도 항상 null 값을 반환합니다.
public SystemSalesTaxList Get_SystemSalesTaxListByZipCode(string strZipCode)
{
var salesTax = from s in db.SystemSalesTaxLists
where s.ZipCode == strZipCode
select s;
return salesTax.FirstOrDefault();
}
왜 다른 방법은 쿼리로 동일해야 같은 반환하지 않습니다 :이 같은 방법을 작성하는 경우
, 내가 원하는 행을 반환?
오버플로 된 Get_SystemSalesTaxList(string strSalesTaxID)
은 유효한 SalesTaxID
을 제공 할 때 레코드를 정상적으로 반환합니다.
"헬퍼"유형 클래스를 작성하는보다 효율적인 방법이 있습니까?
감사합니다.
바보 질문 - ZipCode를'Get_SystemSalesTaxListByZipCode'에 전달하고 있습니까? – Oded
문제는 "IEnumerable"입니다.하지만 "아마도 그것은 헝가리 표기법에 대해 불평할만한 방법 일 것입니다"라고 울부 짖는 중입니다 .-p –