codesmithtools / Templates

CodeSmith Generator Templates
http://www.codesmithtools.com/product/generator
54 stars 35 forks source link

CSLA - Stored procedures insert sql is generated with computed fields. #714

Open niemyjski opened 4 years ago

niemyjski commented 4 years ago

The SQLStoredProcedures template (https://github.com/codesmithtools/Templates/blob/master/Templates/Frameworks/Csla/CSharp/DataAccessLayer/Internal/SQLStoredProcedures.cst) is including computed properties in the updated sql and in code: https://github.com/codesmithtools/Templates/search?q=GetUpdateStoredProcedureName&unscoped_q=GetUpdateStoredProcedureName

We'd need to update the instances above to filter out computed properties in all spots. We could do this by changing Entity.Properties to Entity.GetProperties(PropertyType.UpdateInsert). We'd accept a pr for this.

fundez commented 4 years ago

Currently the business objects also output all the fields including read-only fields when calling stored procedures. I'm assuming the business objects won't change so the stored procedures would have to accept the same parameters, but would just ignore the calculated fields when executing updates and inserts.

niemyjski commented 4 years ago

It definitely needs a filtered list, I guess it doesn't hurt to pass all of them to the stored procedure (really stinks), but is a quick work around. Could you try updating the stored procedure update statement using the above calls.