TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
sreekanth v
NA
51
0
Predicate builder using linq
Sep 9 2011 10:57 AM
I have a 6 text boxes. I want to search and retrive from database what we have entered in textboxes. I am using
4-Tier Architecture. i have business object and DataAccesLayer, dbml, presentation layer.
I am using linq to sql in this architecture. I want to use predicate builder in this search method.
can u please tell me how to use . i have given like this.
BO
.
namespace
BusinessObject
{
public
class
companies
:
Icompanies
{
int
_empid
=
0
;
public
int
empid
{
set
{
_empid
=
value
;
}
get
{
return
_empid
;
}
}
string
_empname
=
null
;
public
string
empname
{
get
{
return
_empname
;
}
set
{
_empname
=
value
;
}
}
int
_jobid
=
0
;
public
int
jobid
{
get
{
return
_jobid
;
}
set
{
_jobid
=
value
;
}
}
DateTime
_hiredate
;
public
DateTime
?
hiredate
{
get
{
return
_hiredate
;
}
set
{
_hiredate
=
value
.
HasValue
?
value
.
Value
:
new
DateTime
();
}
}
int
_salary
=
0
;
public
int
?
salary
{
get
{
return
_salary
;
}
set
{
_salary
=
value
.
HasValue
?
value
.
Value
:
new
Int32
();
}
}
int
_departmentid
=
0
;
public
int
?
departmentid
{
get
{
return
_departmentid
;
}
set
{
_departmentid
=
value
.
HasValue
?
value
.
Value
:
new
Int32
();
}
}
}
}
In
DAL i have given predicate builder
.
cs
namespace
DataAccessLayer
{
public
static
class
PredicateBuilder
{
public
static
Expression
<
Func
<
T
,
bool
>>
True
<
T
>()
{
return
f
=>
true
;
}
public
static
Expression
<
Func
<
T
,
bool
>>
False
<
T
>()
{
return
f
=>
false
;
}
public
static
Expression
<
Func
<
T
,
bool
>>
Or
<
T
>(
this
Expression
<
Func
<
T
,
bool
>>
expr1
,
Expression
<
Func
<
T
,
bool
>>
expr2
)
{
var
invokedExpr
=
Expression
.
Invoke
(
expr2
,
expr1
.
Parameters
.
Cast
<
Expression
>());
return
Expression
.
Lambda
<
Func
<
T
,
bool
>>
(
Expression
.
Or
(
expr1
.
Body
,
invokedExpr
),
expr1
.
Parameters
);
}
public
static
Expression
<
Func
<
T
,
bool
>>
And
<
T
>(
this
Expression
<
Func
<
T
,
bool
>>
expr1
,
Expression
<
Func
<
T
,
bool
>>
expr2
)
{
var
invokedExpr
=
Expression
.
Invoke
(
expr2
,
expr1
.
Parameters
.
Cast
<
Expression
>());
return
Expression
.
Lambda
<
Func
<
T
,
bool
>>
(
Expression
.
And
(
expr1
.
Body
,
invokedExpr
),
expr1
.
Parameters
);
}
}
}
in
Presentation
Layer
i have given
4
textboxes
<table>
<tr>
<td>
<
asp
:
Label
ID
=
"lblempid"
runat
=
"server"
Text
=
"EmployeeID"
></
asp
:
Label
>
<
/td>
<td>
<asp:TextBox ID="txtempid" runat="server"></
asp
:
TextBox
>
<
/td>
<td>
</
td
>
<td>
<
asp
:
Label
ID
=
"lblempname"
runat
=
"server"
Text
=
"EmployeeName"
></
asp
:
Label
>
<
/td>
<td>
<asp:TextBox ID="txtempname" runat="server"></
asp
:
TextBox
>
<
/td>
</
tr
>
<tr>
<td>
<
asp
:
Label
ID
=
"lblhiredate"
runat
=
"server"
Text
=
"Hiredate"
></
asp
:
Label
>
<
/td>
<td>
<asp:TextBox ID="txthiredate" runat="server" ></
asp
:
TextBox
>
<
asp
:
CalendarExtender
ID
=
"txthiredate_CalendarExtender"
runat
=
"server"
Enabled
=
"True"
TargetControlID
=
"txthiredate"
>
<
/asp:CalendarExtender>
</
td
>
<td>
&
nbsp
;
&
nbsp
<
/td>
<td>
<asp:Label ID="lbldepartmentid" runat="server" Text="DepartmentId"></
asp
:
Label
>
<
/td>
<td>
<asp:TextBox ID="txtdepartmentid" runat="server"></
asp
:
TextBox
>
<
/td>
</
tr
>
<
tr align
=
"center"
>
<td>
<
asp
:
Button
ID
=
"btnsearch"
runat
=
"server"
Text
=
"Search"
onclick
=
"btnsearch_Click"
/>
<
/td>
</
tr
>
</
table
>
in
aspx
.
cs
protected
void
btnsearch_Click
(
object
sender
,
EventArgs
e
)
{
companies cmp
=
new
companies
();
employ emp
=
new
employ
();
cmp
.
empid
=
Convert
.
ToInt32
(
txtempid
.
Text
);
cmp
.
empname
=
txtempname
.
Text
;
cmp
.
hiredate
=
Convert
.
ToDateTime
(
txthiredate
.
Text
);
cmp
.
departmentid
=
Convert
.
ToInt32
(
txtdepartmentid
.
Text
);
emp
.
searchemployes
(
cmp
);
}
IN DAL
public
List
<companies>
searchemployee
(
companies cmp
)
{
List
<companies>
list
=
new
List
<companies>
();
var
predicate
=
PredicateBuilder
.
True
<companies>
();
Employee
emp
=
new
Employee
();
?
}
from
here i am
not
getting
please help
Reply
Answers (
0
)
JQuery UI Dialog which has ASP.NET Repeater ,button Events are Not Firing
How to load the destination page objects in source page?