IWorkspace workspace = workspaceFactory.Open(connectionProps, 0); ISqlWorkspace sqlWorkspace = (ISqlWorkspace)workspace; IQueryDescription desc = sqlWorkspace.GetQueryDescription("select * from " + tblName); ITable queryClass = sqlWorkspace.OpenQueryClass("MyQuery", desc); IFeatureClass fc = (IFeatureClass)queryClass; //assign the new fc to an existing map layer, this is where the exception happens mapLayer.FeatureClass = fc;