Чтобы сделать LIKE-операторы, вы можете использовать метод Contains :
string myText = "test";
var query = dc.Table.Where(r=>r.Column.Contains(myText));
Это создаст такой SQL-оператор:
SELECT [t0].[Column], ... [t0].[ColumnN]
FROM [Table] AS [t0]
WHERE [t0].[Column] LIKE @p0
И параметр @ p0 будет иметь "%test%"
в качестве значения.
Для сравнения Date и int, если я правильно понимаю, что вы хотите, вы можете сделать это:
DateTime? myDate = new DateTime(2009, 3, 15);
var query = dc.Table.Where(r=> r.DateColumn > myDate || myDate == null );
Таким образом, если myDate имеет значение null, условие DateColumn > myDate
не будет оцениваться.