Without knowing more about your problem/the format of your dates i think you have 2 options
1) Convert your DateTime.Now variable to the string formation to do your comparison. Although i don't think this will accomplish what you are wanting.
Ex:
var d = DateTime.Now.ToString("yyyyMMdd")
2) Place the .ToList before the .Where clause of your query. The issue is that the .ToList is the command to execute against the database and there is no Linq to entities conversion for DateTime.Parse.
If you were to do the following
var query = db.Tables.ToList().Where(x => DateTime.Parse(x.DT) > D);
Then it would execute against the database prior to trying to translate DateTime.Parse to SQL. However this could create a lot of problems should you be dealing with a lot of data as this reads the entire Tables table into memory prior to filtering.
I would not suggest this but given that you say you cannot change this schema. This would accomplish what you are asking for.