Sarosh,
Based on what I've learned/done, I can offer the following insights:
1. Excluding fields
There are two properties that you can set for a BO (at the BO level, not when dropped on a form):
FieldsToExcludeFromUpdate
FieldsToExcludeFromInsert
I believe you enter the names of the fields, one per line, to exclude from inserts/updates. You'd enter your calculated columns here. I'm pretty sure this works if you are using sprocs as well.
2. Selectively picking columns
You can't selectively pick columns in the mapper. It will map all of the fields and create strongly typed properties for them. However, there is no rule that you have to actually
fill all of those columns. That is completely under your control when you fill the BO with data. I.e. lets say you have a table with three columns: id, name, comment. Comment is a varchar(max) field and can be quite huge. You don't have to fill it. I.e. you could have a fill method something like:
Public Sub FillIdNameOnly()
Using cmd As New SqlCommand()
cmd.CommandText = "Select id, name From yourTable"
Me.FillDataTable(cmd)
End Using
End Sub
After calling this command, the ID and name property will work as expected, but the comment property will likely throw an exception, as there will be no column in the datatable. But that's OK, since you'd only call this if you didn't want the comment anyway.
Hope this helps!