You can use Linq To Sharepoint after using the SPMetal tool to generate your entities.
http://www.codeproject.com/Articles/399927/SharePoint-2010-LINQ-and-SPMetal
This is an example of what Sharepoint Link looks like:
using (SiteEntitiesDataContext context = new SiteEntitiesDataContext("http://appes-pc"))
{
var result = context.Manager.Where(m => m.Country == "USA");
foreach (ManagerItem manager in result)
{
Console.WriteLine(manager.Name);
}
}
Or alternatively if you want to use CAML there is a very good CAML builder utility called:
Camlex.NET - http://camlex.codeplex.com/
So this:
<Where>
<Eq>
<FieldRef Name="Status" />
<Value Type="Text">Completed</Value>
</Eq>
</Where>
Can be written as:
string caml =
Camlex.Query()
.Where(x => (string)x["Status"] == "Completed").ToString();