powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Подготовка БД для работы в Silverlight Business Application
25 сообщений из 45, страница 1 из 2
Подготовка БД для работы в Silverlight Business Application
    #37204933
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По учебе задали написать проект используя шаблон Silverlight Business Application Templat – нужно приложение для ввода информации по проектам. Начал с малового создания базы данных для хранения информации по проектам:

Создал таблицу ProjectUser

Код проекта ProjectId - primary key
Имя пользователя создавшего проект UserName
Название проекта ProjectName
Краткое описание Description
Дата начала проекта DateStart
Дата окончания проекта DateEnd
Горизонт расчета HC
KeyID


Создал таблицу CashFlow для денежного потока
Код проекта ProjectId
Приток денежных средств Inflow
Отток денежных средств Outflow
Год Year
CashFlowID - primary key




Связал таблицы по полям ProjectId - ProjectId


Создал модель ProjectBD указав в качестве источников таблицы ProjectUser и CashFlow.



Но вот тут и проблема "связь один к одному "
Подскажите пожалуйста почему связь один к одному ?

Нужна связь один ко многим т.к. проект длится несколько лет и для каждого года нужно отразить приток и отток денежных средств
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37205073
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
samun,

Приношу извинения наверно усталость
Ошибка в том что я пишу "Связал таблицы по полям ProjectId - ProjectId"
а на слайде ProjectId - CashFlowID.

Спасибо!!
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37205779
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samun,

ну если вы посмотрите внимательно, то найдете CashFlow в таблице ProjectUser это и есть многое-ко-многим
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37207086
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибка была в окне привязке должно было быть вот так:


уТКаsamun, ну если вы посмотрите внимательно, то найдете CashFlow в таблице ProjectUser это и есть многое-ко-многим
Подскажите пожалуйста где посмотреть ? и где я допустил ошибку что у меня получилось связь "многое-ко-многим"??
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37207109
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и теперь файл ProjectBD.edmx модель данных выглядит вот так
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37207160
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Теперь для доступа к таблицам ProjectUser и CashFlow нужно создать класс DomaneService ProjectInOu для записи в таблицу информации по проекту.

Так же в клиентской части проекта (Silverlight) создал страницу InputProject для ввода пользователем информации по проекту
В XAML файл InputProject.xaml Добавил
Код: plaintext
1.
2.
3.
4.
riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:ProjectUser, CreateList=true}" Height="0" LoadedData="projectUserDomainDataSource_LoadedData_1" Name="projectUserDomainDataSource" QueryName="GetProjectUsersQuery" Width="0">
            <riaControls:DomainDataSource.DomainContext>
                <my1:ProjectInOu />
            </riaControls:DomainDataSource.DomainContext>
 </riaControls:DomainDataSource>

Вот тут у меня вопрос как лучше поступить с добавлением строк в таблицу CashFlow?

у одного проекта может быть несколько лет в которых есть приток и отток денежных средств т.е. одной строке в таблице ProjectUser соответствуют несколько строк в таблицеCashFlow, как сделать ввод информации правильно ?

Я предположил что можно сделать вот так: добавить в проект дочернее окно CashFlowChildWindow.xaml
В него добавил
Код: plaintext
1.
2.
3.
4.
5.
        <riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my1:CashFlow, CreateList=true}" Height="0" LoadedData="cashFlowDomainDataSource_LoadedData" Name="cashFlowDomainDataSource" QueryName="IQueryable" Width="0">
            <riaControls:DomainDataSource.DomainContext>
                <my:ProjectInOu />
            </riaControls:DomainDataSource.DomainContext>
        </riaControls:DomainDataSource>
а также поле public int ProjectId { get; set; }
т.е. доступ к таблице CashFlow через cashFlowDomainDataSource по средствам метода IQueryable в который передается ProjectId
код из класса ProjectInOu.cs
Код: plaintext
1.
2.
3.
 public IQueryable<CashFlow> IDGetCashFlows(int PrId)
        {
            return this.ObjectContext.CashFlows.Where(a => a.ProjectId.CompareTo(PrId));
        }
Как вы думаете такое подход ля добовления информации в связанные таблицы верен ?
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37207993
Фотография pitachek69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
немного поофтоплю

уТКа,

может будет интересно , Вы вроде как-то искали)
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37208051
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pitachek69немного поофтоплю

уТКа,

может будет интересно , Вы вроде как-то искали)

Спасибо за ценный совет по теме ;))
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37208111
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pitachek69,

:)

спасибо, работодатель уже нашел меня.
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37208117
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samun,

если вам нужно подобие Мастер-детаил, то лучше реализовать его на отдельной странице и заюзать загрузку данных через Navigation Framework, а потом разместить эту страницу там где потребуется через Frame.
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37208126
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samun,

да к стати, вам может быть крайне полезен мой проект , писал специально для одного из проектов.
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37208136
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уТКаsamun,

да к стати, вам может быть крайне полезен мой проект , писал специально для одного из проектов.

это я устал и ничего не могу найти, или там (на странице мой проект ) нет вообще описания ?
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37208150
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samun,

описание есть, но оно скромное:
авторProject Description
Silverlight Ria Services Ex - is Extension library for Silverlight that helps Developers to work with RiaServices and create Bussines Applications.

лучше перейти на страницу загрузки и скачать пример, там увидите как все работает.
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37208156
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня вот такой вопрос
если я запишу вот так
<riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:ProjectUser, CreateList=true}" Height="0" LoadedData="projectUserDomainDataSource_LoadedData_2" Name="projectUserDomainDataSource" QueryName="GetProjectUsersQuery" Width="0">
<riaControls:DomainDataSource.DomainContext>
<my1:ProjectInOu />
</riaControls:DomainDataSource.DomainContext>
<riaControls:DomainDataSource.FilterDescriptors>
<riaControls:FilterDescriptor Operator="IsEqualTo" PropertyPath="UserName" Value="asdsa"/>
</riaControls:DomainDataSource.FilterDescriptors>
</riaControls:DomainDataSource>
то получается что с сервера на клиентскую сторону будут переданы все строки из базы а патом отфильтрованы те у которых поле UserName не начинается с asdsa???
вопрос задан к тому что если в базе много записей то они все будут переданы клиенту а патом отфильтрованы на клиентской стороне ? ну как бы объем будет большой передан
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37208180
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уТКа,

подскажите пожалуйста вот тут MSDN написано:

Добавление параметров к запросу
В некоторых случаях для метода запроса требуются значения параметров. Обычно методу запроса требуется значение параметра для фильтрации возвращаемых данных. Класс DomainDataSource предоставляет коллекцию QueryParameters для упрощения добавления параметров. В следующем примере показано, как добавить параметр со значением, которое задается в декларативном тексте.
и пример:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<Grid x:Name="LayoutRoot" Background="White">
    <riaControls:DomainDataSource Name="source" QueryName="GetProductsByColor" AutoLoad="true">
        <riaControls:DomainDataSource.DomainContext>
            <domain:ProductDomainContext />
        </riaControls:DomainDataSource.DomainContext>
        <riaControls:DomainDataSource.QueryParameters>
            <riaControls:Parameter ParameterName="color" Value="Black" />
        </riaControls:DomainDataSource.QueryParameters>
    </riaControls:DomainDataSource>
    <data:DataGrid ItemsSource="{Binding Data, ElementName=source}" />
</Grid>
Когда я пытаюсь в своем примере для запроса GetProjectUsersUsName
Код: plaintext
1.
2.
3.
4.
5.
6.
 public EntityQuery<ProjectUser> GetProjectUsersUsNameQuery(string UserName)
        {
            Dictionary<string, object> parameters = new Dictionary<string, object>();
            parameters.Add("UserName", UserName);
            this.ValidateMethod("GetProjectUsersUsNameQuery", parameters);
            return base.CreateQuery<ProjectUser>("GetProjectUsersUsName", parameters, false, true);
        }

Настроить
элемент управления DomainDataSource
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 <riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:ProjectUser, CreateList=true}" Height="0" LoadedData="projectUserDomainDataSource_LoadedData_2" Name="projectUserDomainDataSource" QueryName="GetProjectUsersUsNameQuery" Width="0">
            <riaControls:DomainDataSource.DomainContext>
                <my1:ProjectInOu />
                <riaControls:DomainDataSource.QueryParameters>
                    <riaControls:Parameter ParameterName="UserName" Value="asdsa" />
                </riaControls:DomainDataSource.QueryParameters>
            </riaControls:DomainDataSource.DomainContext>
            <riaControls:DomainDataSource.FilterDescriptors>
                <riaControls:FilterDescriptor Operator="IsEqualTo" PropertyPath="UserName" Value="asdsa"/>
            </riaControls:DomainDataSource.FilterDescriptors>
        </riaControls:DomainDataSource>

то для строки <riaControls:DomainDataSource.QueryParameters> выводит ошибку "Для типа "DomainDataSource" не найдено присоединяемое свойство "QueryParameters"."

Эт я гдето ошибся ?
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37208222
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samun,

а зачем вы
авторriaControls:DomainDataSource.QueryParameters
засунули в
авторriaControls:DomainDataSource.DomainContext
?

вот он и ругается...

авторон что, все будет грузить на клиента?
нет, фильтрация происходит на сервере и зачем результаты возвращаются на клиент.
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37211482
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уТКа,

Подскажите пожалуйста к чему надо привязать кнопку для добавления новой сущности ??
Как делал:
Для заполнения таблиц сделал вот так: разместил на форме элементы управления вот таким способом




Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
  <riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:ProjectUser, CreateList=true}" Height="0" LoadedData="projectUserDomainDataSource_LoadedData" Name="projectUserDomainDataSource" QueryName=" GetProjectUsersUsNameQuery" Width="0">
            <riaControls:DomainDataSource.DomainContext>
                <my1:ProjectInOu />
            </riaControls:DomainDataSource.DomainContext>
        </riaControls:DomainDataSource>
        <Grid DataContext="{Binding ElementName=projectUserDomainDataSource, Path=Data}" HorizontalAlignment="Left" Margin="48,33,0,0" Name="grid1" VerticalAlignment="Top" Height="207" Width="218">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="Auto" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <sdk:Label Content="Date End:" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
            <sdk:DatePicker Grid.Column="1" Grid.Row="0" Height="23" HorizontalAlignment="Left" Margin="3" Name="dateEndDatePicker" SelectedDate="{Binding Path=DateEnd, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" />
            <sdk:Label Content="Date Start:" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
            <sdk:DatePicker Grid.Column="1" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="3" Name="dateStartDatePicker" SelectedDate="{Binding Path=DateStart, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" />
            <sdk:Label Content="Description:" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
            <TextBox Grid.Column="1" Grid.Row="2" Height="23" HorizontalAlignment="Left" Margin="3" Name="descriptionTextBox" Text="{Binding Path=Description, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" />
            <sdk:Label Content="HC:" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
            <TextBox Grid.Column="1" Grid.Row="3" Height="23" HorizontalAlignment="Left" Margin="3" Name="hCTextBox" Text="{Binding Path=HC, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" />
            <sdk:Label Content="Project Id:" Grid.Column="0" Grid.Row="4" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
            <TextBox Grid.Column="1" Grid.Row="4" Height="23" HorizontalAlignment="Left" Margin="3" Name="projectIdTextBox" Text="{Binding Path=ProjectId, Mode=OneWay}" VerticalAlignment="Center" Width="120" />
            <sdk:Label Content="Project Name:" Grid.Column="0" Grid.Row="5" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
            <TextBox Grid.Column="1" Grid.Row="5" Height="23" HorizontalAlignment="Left" Margin="3" Name="projectNameTextBox" Text="{Binding Path=ProjectName, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" />
            <sdk:Label Content="User Name:" Grid.Column="0" Grid.Row="6" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
            <TextBox Grid.Column="1" Grid.Row="6" Height="23" HorizontalAlignment="Left" Margin="3" Name="userNameTextBox" Text="{Binding Path=UserName, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" />
  </Grid>

Добавил кнопку для сохранения изменений
Код: plaintext
1.
<Button Content="Save" Height="38" HorizontalAlignment="Left" Name="button1" VerticalAlignment="Top" Width="75" Command="{Binding ElementName=projectUserDomainDataSource, Path=SubmitChangesCommand}" Grid.Column="2" Grid.Row="8" />

Добавил кнопку для отмены изменений
Код: plaintext
1.
<Button Content="Cancel" Grid.Column="1" Grid.Row="8" Height="23" HorizontalAlignment="Left" Margin="50,10,0,0" Name="button2" VerticalAlignment="Top" Width="75" Command="{Binding ElementName=projectUserDomainDataSource, Path=RejectChangesCommand}" />
Для просмотра всех сущностей добавил DataPager
Код: plaintext
1.
<sdk:DataPager Grid.ColumnSpan="3" Grid.Row="9" Height="26" HorizontalAlignment="Left" Margin="42,0,0,0" Name="dataPager1" PageSize="10" VerticalAlignment="Top" Width="200" Source="{Binding ElementName=projectUserDomainDataSource, Path=Data}" />

Подскажите пожалуйста к чему надо привязать кнопку для добавления новой сущности (новой записи в таблицу)??
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37211548
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уТКа,

Еще для работы с таблицами рекомендуют использовать второй вариант, использованием контрола DataFrom:
например вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
  <riaControls:DomainDataSource AutoLoad="True" d:DesignData="{d:DesignInstance my:ProjectUser, CreateList=true}" Height="0"
 LoadedData="projectUserDomainDataSource_LoadedData" Name="projectUserDomainDataSource" 
QueryName="GetProjectUsersUsNameQuery"  Width="0">
            <riaControls:DomainDataSource.DomainContext>
                <my1:ProjectInOu />
            </riaControls:DomainDataSource.DomainContext>
        </riaControls:DomainDataSource>
      
        <toolkit:BusyIndicator IsBusy="{Binding ElementName=projectUserDomainDataSource, Path=DomainContext.IsLoading}" 
                 BusyContent="{Binding Path=Strings.BusyIndicatorLoadingData, Source={StaticResource ApplicationResources}}">
            <toolkit:DataForm AutoGenerateFields="False" ItemsSource="{Binding ElementName=projectUserDomainDataSource, Path=Data}">
                <toolkit:DataForm.EditTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="Auto" />
                                <ColumnDefinition Width="59*" />
                            </Grid.ColumnDefinitions>
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />
                                
                            </Grid.RowDefinitions>
                            <sdk:Label Content="Date End:" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
                            <sdk:DatePicker Grid.Column="1" Grid.Row="0" Height="23" HorizontalAlignment="Left" Margin="3" Name="dateEndDatePicker" SelectedDate="{Binding Path=DateEnd, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" />
                            <sdk:Label Content="Date Start:" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
                            <sdk:DatePicker Grid.Column="1" Grid.Row="1" Height="23" HorizontalAlignment="Left" Margin="3" Name="dateStartDatePicker" SelectedDate="{Binding Path=DateStart, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" />
                            <sdk:Label Content="Description:" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
                            <TextBox Grid.Column="1" Grid.Row="2" Height="23" HorizontalAlignment="Left" Margin="3" Name="descriptionTextBox" Text="{Binding Path=Description, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" />
                            <sdk:Label Content="HC:" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
                            <TextBox Grid.Column="1" Grid.Row="3" Height="23" HorizontalAlignment="Left" Margin="3" Name="hCTextBox" Text="{Binding Path=HC, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true}" VerticalAlignment="Center" Width="120" />
                            <sdk:Label Content="Project Id:" Grid.Column="0" Grid.Row="4" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
                            <TextBox Grid.Column="1" Grid.Row="4" Height="23" HorizontalAlignment="Left" Margin="3" Name="projectIdTextBox" Text="{Binding Path=ProjectId, Mode=OneWay}" VerticalAlignment="Center" Width="120" />
                            <sdk:Label Content="Project Name:" Grid.Column="0" Grid.Row="5" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
                            <TextBox Grid.Column="1" Grid.Row="5" Height="23" HorizontalAlignment="Left" Margin="3" Name="projectNameTextBox" Text="{Binding Path=ProjectName, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" />
                            <sdk:Label Content="User Name:" Grid.Column="0" Grid.Row="6" HorizontalAlignment="Left" Margin="3" VerticalAlignment="Center" />
                            <TextBox Grid.Column="1" Grid.Row="6" Height="23" HorizontalAlignment="Left" Margin="3" Name="userNameTextBox" Text="{Binding Path=UserName, Mode=TwoWay, NotifyOnValidationError=true, ValidatesOnExceptions=true, TargetNullValue=''}" VerticalAlignment="Center" Width="120" />
                        </Grid>
                    </DataTemplate>
                </toolkit:DataForm.EditTemplate>
            </toolkit:DataForm>

Подскажите пожалуйста:
1. что предпочтительней первый или второй вариант использование в каких случаях?
2. почему при использовании кнопок встроенных в контрол DataFrom (Delete - удаление сущности, Add - добавление, Ok - сохранение ) изменения не заносятся в Таблицу на сервере ??
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37211833
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samun,

для редактирования/добавления сущностей лучше использовать DataForm.

для того, чтобы данные ушли на сервер, их необходимо отправить:

Код: plaintext
<ваша_DomainDataSource>.SubmitChanges();
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37211842
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samun,

авторпочему при использовании кнопок встроенных в контрол DataFrom (Delete - удаление сущности, Add - добавление, Ok - сохранение ) изменения не заносятся в Таблицу на сервере ??
каждый раз, когда вы нажимаете на одну из этих кнопок, вы как бы помечаете, какую запись добавить, какую редактировать, а какую удалить, но отметка происходит на Клиентской части, поэтому, чтобы изменения вступили в силу (оказались на сервере) их необходимо отправлять (см. ответ выше)
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37211983
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уТКа,

а нет ли свойства DataForm которое бы указывала что на (Delete - удаление сущности, Ok - сохранение) надо сразу сохранять на сервере?

или надо подписаться на событие нажатие кнопки (Delete - удаление сущности, Ok - сохранение) и например добавить окно подтверждения и вызвать метод <ваша_DomainDataSource>.SubmitChanges();
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37212149
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samun,

я эти кнопки не использую вообще, просто отключаю, т.к. добавление/редактирование/сохранение реализую самостоятельно.
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37212384
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уТКа,

а можно посмотреть как вы их реализуете. т.к. с сохранить и отмена я разобрался. осталось разобраться как с листать, добавить, удалить.
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37212745
samun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уТКа,

у меня вот такой вопрос так как у меня две связанные таблицы та я как Вы и советовали сделал отдельное окно для отображения сушнастей связанной таблицы

в моем примере
я добавил на форму под DataForm (описание в Сообщении: 16) кнопку. и написал обработчик события
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
private void button1_Click(object sender, RoutedEventArgs e)
        {
            var win = new CashFlowChildWindow();
            ProjectUser proj = ProjectDataForm.CurrentItem as ProjectUser;
            //proj.CashFlows
         
            win.ProjectId = proj.ProjectId;
            win.cash = proj.CashFlows;
            win.Show();
        }

Если я правильно понял (из подсказки ) то поле proj.CashFlows Возвращает коллекцию связанных экземпляров сущности CashFlow
при компиляции оно пустое подскажите пожалуйста почему так?
(в таблице записи есть)
...
Рейтинг: 0 / 0
Подготовка БД для работы в Silverlight Business Application
    #37212864
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
samun,

ссылка на то, как это делается уже была 10495728
...
Рейтинг: 0 / 0
25 сообщений из 45, страница 1 из 2
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Подготовка БД для работы в Silverlight Business Application
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]