I assume you are just grabbing attributes and attribute options for a product for the product detail page on an e-commerce website.
If this is the case, I recommend a stored procedure as this data is for read-only purposes and you want it quickly as possible.
If you have a table called Attribute, with a FK to the Product such as:
Attribute Table
------------------
Id (PK)
ProductId(FK)
and an Option Table(??) that has the options for each Attribute such as:
Option Table
----------------
Id (PK)
AttributeId (FK)
Title
DisplayOrder
then you can just grab the options for a product with a SP:
SELECT *
FROM Option INNER JOIN
Attribute ON Attribute.Id = Option.AttributeId
WHERE (Attribute.ProductId = @ProductId)
ORDER BY Option.DisplayOrder, Option.Title;
I have my own e-commerce framework that I have built and I actually have a stored procedure, called GetProductDetails, that contains code like above, but also returns two other resultsets that get the details for the product and, of course, the list of attributes, which you will also need to display all the details about a product. Here in one call to the database (1 trip) you can get everything to display the product details.
Hope this helps.