Don't you think the reason is obvious and clear! You are trying to return Generic List of type contract where the return types defined is List of type string?
the return type to
public List<Contract> GetContract(string Contract)
Contract_GenDataContext db = new Contract_GenDataContext();
var matchingContract = from con in db.Contracts