✔ 最佳答案
I think you need to throw away that yahoo dictionary.
1. Having XX for dinner...
means you cook XX and eat XX at the dinner. I don't think you should eat your friends at any time.
for example:
(A) I had some fried chicken for dinner last night. = I ate fried chicken at the dinner last night.
2. Having someone over for dinner....
The "to have...over" here means "to invite" - good uses indeed.
3. to have someone to...
Usually this implies certain degree of "demand" and "force" against someone's will.
4. So, please don't use those strange English..
Use "invite" a few friends to my dinner ...
5. Also, avoid using "some" friends - "some" also implies important and significant.
Please use "a few" instead.