Форматирование данных LINQ SQL CE с использованием C # на WP7 - PullRequest
0 голосов
/ 14 сентября 2011

Я очень новичок в разработке C # / LINQ / WP7 и пытаюсь отформатировать данные, возвращаемые из моего запроса LINQ.

У меня есть следующая структура LINQ c #:

var boughtItemsInDB = from DBControl.MoneySpent bought in BoughtItemDB.BoughtItems
select bought;

BoughtItems = new ObservableCollection<DBControl.MoneySpent>(boughtItemsInDB);

Определение MoneySpent приведено ниже;

    [Table(Name = "MoneySpent")]
    public class MoneySpent : INotifyPropertyChanged, INotifyPropertyChanging
    {
        // Define ID: private field, public property and database column.
        private int _itemId;

        [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)]
        public int ItemId
        {
            get
            {
                return _itemId;
            }
            set
            {
                if (_itemId != value)
                {
                    NotifyPropertyChanging("ItemId");
                    _itemId = value;
                    NotifyPropertyChanged("ItemId");
                }
            }
        }

        // Define item budget: private field, public property and database column.
        private int _itemBudget;

        [Column]
        public int ItemBudget
        {
            get
            {
                return _itemBudget;
            }
            set
            {
                if (_itemBudget != value)
                {
                    NotifyPropertyChanging("ItemBudget");
                    _itemBudget = value;
                    NotifyPropertyChanged("ItemBudget");
                }
            }
        }


        // Define item category: private field, public property and database column.
        private string _itemCategory;

        [Column]
        public string ItemCategory
        {
            get
            {
                return _itemCategory;
            }
            set
            {
                if (_itemCategory != value)
                {
                    NotifyPropertyChanging("ItemCategory");
                    _itemCategory = value;
                    NotifyPropertyChanged("ItemCategory");
                }
            }
        }



        // Define item description: private field, public property and database column.
        private string _itemDescription;

        [Column]
        public string ItemDescription
        {
            get
            {
                return _itemDescription;
            }
            set
            {
                if (_itemDescription != value)
                {
                    NotifyPropertyChanging("ItemDescription");
                    _itemDescription = value;
                    NotifyPropertyChanged("ItemDescription");
                }
            }
        }



        // Define item amount: private field, public property and database column.
        private decimal _itemAmount;

        [Column]
        public decimal ItemAmount
        {
            get
            {
                return _itemAmount;
            }
            set
            {
                if (_itemAmount != value)
                {
                    NotifyPropertyChanging("ItemAmount");
                    _itemAmount = value;
                    NotifyPropertyChanged("ItemAmount");
                }
            }
        }


        // Define item date: private field, public property and database column.
        private DateTime _itemDateTime;

        [Column]
        public DateTime ItemDateTime
        {
            get
            {
                return _itemDateTime;
            }
            set
            {
                if (_itemDateTime != value)
                {
                    NotifyPropertyChanging("ItemDateTime");
                    _itemDateTime = value;
                    NotifyPropertyChanged("ItemDateTime");
                }
            }
        }

Мне нужно отформатировать данные, возвращенные из базы данных, в моей БД хранится следующее:

ItemDateTime - DateTime, ItemDescription - String, ItemAmount - Decimal

Мне нужно иметь возможность форматировать дату на основе текущей локали пользователя и отформатировать десятичное число в 2 dp.

Я также не уверен, нужно ли мне использовать IQueryable, когда я получаю результаты данных.

Любая помощь будет высоко ценится.

Спасибо, Mark

1 Ответ

1 голос
/ 14 сентября 2011

Поскольку вы не предоставляете достаточно подробностей - просто общая идея

var boughtItemsInDB = from bought in BoughtItemDB.BoughtItems
select new { ItemDateTime = bought.ItemDateTime.ToString(), ItemDescription = bought.ItemDescription, ItemAmount = bought.ItemAmount.ToString("0,0.00") };

НО форматирование лучше выполнять в элементе управления, который вы используете для отображения данных, а не в запросе Linq ...

РЕДАКТИРОВАТЬ - после добавления из OP:

Из того, что я вижу, класс MoneySpent уже подготовлен для "привязки данных" ...

Так что форматирование должно выполняться в элементе управления отображением ... для получения дополнительной информации см .:

...