TheBigBearNow Ответов: 1

C# возвращает общий список таблиц, связанных с таблицей productlist info


Привет всем, у меня есть таблица базы данных для хранения информации о моей квитанции, и на моей квитанции у меня есть список продуктов на квитанции. Чтобы сохранить список, который я прочитал, мне нужно сделать еще одну таблицу из этих данных списка и связать квитанцию и список моих продуктов вместе, которые я должен связать с receiptid. Чтобы получить таблицу productlist, у меня есть идентификатор квитанции в таблице, но в моем классе продукта у меня нет идентификатора квитанции есть ли у меня объект квитанции и объект продукта и свойства от обоих этих классов в 1 новом списке<t> Я хотел бы вернуть новый класс этого списка<t> получить мои данные.
Я создал новый класс и у меня есть объект receipt и объект product в нем, чтобы возвращать свойства обоих-это правильный способ, которым я должен это делать? Любая информация / помощь / советы будут очень признательны.


//I am still in the processing of finishing this method
        public static List<ReturnReceiptProductList> GetReceiptProductList(int rid)
        {
            List<ReturnReceiptProductList> productList = new List<ReturnReceiptProductList>();
            ReturnReceiptProductList returnReceipt = new ReturnReceiptProductList();
            using (SqlConnection connection = ConnectionString.GetSqlConnection())
            {
                string sqlList = "SELECT * FROM OrdersList WHERE ReceiptId = @rid";
                using (SqlCommand cmdList = new SqlCommand(sqlList, connection))
                {
                    cmdList.Parameters.AddWithValue("@rid", rid);
                    connection.Open();
                    using (SqlDataReader reader = cmdList.ExecuteReader())
                    {
                        if (reader != null)
                        {
                            while (reader.Read())
                            {
                                Product product = new Product();
                                Receipt receipt = new Receipt();
                                receipt.ReceiptID = Convert.ToInt32(reader["ReceiptId"].ToString());
                                receipt.UserId = Convert.ToInt32(reader["UserId"].ToString());
                                product.ProductId = Convert.ToInt32(reader["ProductId"].ToString());
                                product.ProductName = reader["ProductName"].ToString();
                                product.ProductQuantity = Convert.ToInt32(reader["ProductQuantity"].ToString());
                                product.ProductPrice = Convert.ToDecimal(reader["ProductPrice"].ToString());
                                product.ProductTax = Convert.ToDecimal(reader["ProductTax"].ToString());
                            }
                        }
                    }
                }
            }
        }
    public class ReturnReceiptProductList
    {
        //Returning the values to link Product & Receipt.

        public Product Product { get; set; }

        public Receipt Receipt { get; set; }

        public ReturnReceiptProductList() { }

        public ReturnReceiptProductList(Product p, Receipt r)
        {
            Product = p;
            Receipt = r;
        }
    }


Что я уже пробовал:

связывание таблицы с таблицей списка
и много других способов

1 Ответов

Рейтинг:
0

RickZeeland

Вы также можете использовать LINQ, это потребует некоторого изучения, но обеспечивает большую мощность и гибкость. Смотрите пример здесь: Простой LINQ to SQL на языке C#[^]
А здесь: Запрос баз данных SQL Server с помощью LINQ to SQL[^]