I am using c#, entity framework. sql server for the development. I have a method which has two parameters (int ID, List<String> _listobj). For each ID, there is a list of obj. All of these IDs and lists will be inserted into different tables in database. So the question is: what's the best practice for this? I have couple of options: 1) in c#, split the list<obj> as single value, then create a stored proc which takes two parameters (ID, str), then the c# will call the stored proc many times depending on the size of the list. 2) pass the ID and list<obj> as two parameters to the stored proc and let the stored proc to spit the list<obj>. This way the c# will only call the stored proc once. Is the second strategy doable? if yes, which is better in terms of performance? thanks!