Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
[С#] ObservableCollection + БД. |
Философия, технологии, алгоритмы! |
|
Опции темы |
24.02.2012, 22:27 | #1 |
Смотри сюда
Сообщений: 418
Регистрация: 16.11.2007
Не в сети |
[С#] ObservableCollection + БД.
Есть одна коллекция
Код:
public ObservableCollection<StreetViewModel> Streets { get; set; } public StreetsViewModel() { Streets = new ObservableCollection<StreetViewModel>(); Streets.Add(new StreetViewModel(new Street { Name = "Moskovski prospect", CarsVolume = 20, PathStr = "линия кароче" })); } Последний раз редактировалось RedName; 24.02.2012 в 23:24. |
24.02.2012, 22:39 | #2 |
Форумец
Сообщений: 40,107
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
Не-не-не. Так дело не пойдет.
Я сейчас внесу в требования указывать в темах язык программирования. И твоя тема подпадет под эти требования и соседняя, AlexanderSergeev'а. Требования будут такими - темы по вопросам, связанным с конкретным языками программирования указывать "префикс" языка. Существующие самостоятельно переименую, наказывать задним числом, понятно, не буду. Это, я так понимаю, у нас Java. Если вдруг не так - поправь. |
24.02.2012, 22:46 | #4 |
Форумец
Сообщений: 40,107
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
|
24.02.2012, 23:06 | #5 |
Смотри сюда
Сообщений: 418
Регистрация: 16.11.2007
Не в сети |
Напрмиер есть XML фаил в котором
Код:
<?xml version="1.0" encoding="utf-8" ?> <Streets> <Street> <Name>Moskovski prospect</Name> <CarsCount>100></CarsCount> </Street> </Streets> Я в каких либо операциях с Бд полный ноль. Поэтому, если можно, привести пример как это сделать. МОжно и SQL взять. Мне без разницы. |
24.02.2012, 23:08 | #6 |
Смотри сюда
Сообщений: 418
Регистрация: 16.11.2007
Не в сети |
|
24.02.2012, 23:16 | #7 |
Форумец
Сообщений: 40,107
Регистрация: 27.05.2003
Возраст: 46
Не в сети |
|
24.02.2012, 23:33 | #8 |
highly mean
Сообщений: 1,128
Регистрация: 26.05.2011
Возраст: 35
Не в сети |
Переделано из студенческого:
Код:
using System; using System.Collections.Generic; using System.IO; using System.Xml; using System.Xml.Linq; public class Street { public string Name {get; set;} public long CarsCount {get; set;} } public class XmlStreetReader : IDisposable { Stream sourceStream; public XmlStreetReader(string fileName) { sourceStream = new FileStream(fileName, FileMode.Open); } public void Dispose() { sourceStream.Dispose(); } public IEnumerable<Street> Streets { get { return StreetsEnumerable(); } } private IEnumerable<Street> StreetsEnumerable() { using (var reader = XmlReader.Create(sourceStream)) { while (reader.Read()) { if (reader.NodeType == XmlNodeType.Element && reader.Name == "Street") { var street = new Street(); var streetNode = (XElement)XElement.ReadFrom(reader); foreach (var desc in streetNode.Descendants()) { if (desc.NodeType == XmlNodeType.Element) { switch (desc.Name.ToString()) { case "Name": street.Name = desc.Value; break; case "CarsCount": street.CarsCount = long.Parse(desc.Value); break; } } } yield return street; } } } } } class Application { public static void Main() { using (var reader = new XmlStreetReader("streets.xml")) { foreach (var street in reader.Streets) { Console.WriteLine("{0}: {1}", street.Name, street.CarsCount); } } } } Последний раз редактировалось silly; 25.02.2012 в 00:04. |
25.02.2012, 15:17 | #11 |
^.^
Сообщений: 10,922
Регистрация: 24.10.2004
Не в сети |
|
25.02.2012, 20:43 | #13 | |
highly mean
Сообщений: 1,128
Регистрация: 26.05.2011
Возраст: 35
Не в сети |
Цитата:
Рискну предположить, у ТС проблемы с пониманием MVVM и построением архитектуры своей поделки. |
|
29.02.2012, 18:10 | #14 |
Смотри сюда
Сообщений: 418
Регистрация: 16.11.2007
Не в сети |
С MVVM и архитектурой всё прекрасно, всё работает. Написал же - с бд у меня оче плохо.
|
01.03.2012, 00:14 | #15 |
highly mean
Сообщений: 1,128
Регистрация: 26.05.2011
Возраст: 35
Не в сети |
Только если в первом посте действительно пример, а не кусок кода из программы. По-моему, для реального разделения M и VM, StreetViewModel и Street стоило бы засунуть в разные коллекции. Также, если StreetViewModel ничем толком не отличается от Street, то можно вообще не реализовывать StreetViewModel, это будет просто лишняя обертка.
|
03.03.2012, 00:36 | #16 | |
Смотри сюда
Сообщений: 418
Регистрация: 16.11.2007
Не в сети |
Цитата:
|
|
03.03.2012, 21:02 | #19 |
FatSince2010
|
RedName, в том куске кода, что приведен в теме есть свойство или функция, возвращающая данные из xml в виде IEnumerable. Что мешает из этой коллекции добавить в любую другую, хотя бы даже и Observable, который тоже реализует IEnumerable?
|
06.03.2012, 09:38 | #20 |
Смотри сюда
Сообщений: 418
Регистрация: 16.11.2007
Не в сети |
|