Я пытаюсь добавить более 1 таблицы в свой Appointement.dbml.Возможно ли иметь более 1 таблицы в файле xxx.dbml?
Я перетаскиваю таблицу назначения и врача.
Таблица Назначение определяется как aptId, patientId, doctorId, aptDate, HrDate, IsAvailable. Настольный доктор определяется как Id, doctorName.
Мне нужно обе таблицы, чтобы иметь возможность отображать имя врача в списке, чтобы выбрать и назначить.
Проблема у меня есть в Appointement.designer.cs У меня появилось много ошибок.
Ex .:
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Doctor")]
public partial class Doctor : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new
PropertyChangingEventArgs(String.Empty);
private int _Id;
private string _Doctor_name; <=== Error The type 'Doctor' already contains a definition for
'_Doctor_name'
Я ищу _Doctor_name, вот результаты:
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Doctor_name",
DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string Doctor_name
{
get
{
return this._Doctor_name;
}
set
{
if ((this._Doctor_name != value))
{
this.OnDoctor_nameChanging(value);
this.SendPropertyChanging();
this._Doctor_name = value;
this.SendPropertyChanged("Doctor_name");
this.OnDoctor_nameChanged();
}
}
}
Может кто-нибудь объяснить мне, что случилось с файлом Appointement.designer.cs. Я пропустил один шаг? Я не понимаю, ошибки типа «Доктор» уже содержит определение для «» _Doctor_name
Спасибо за вашу помощь
Если он здесь мы внесли некоторые изменения в совместный два стола, а не в xxx.designer.cs?
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AppointementDataContext"
EnableDelete="True" EnableInsert="True" EnableUpdate="True" EntityTypeName=""
TableName="Appointement"
Where="IsAvailable = True && dateApt >= DateTime.Now && doctorId = @doctorId">
<WhereParameters>
<asp:ControlParameter
Name="doctorsId"
ControlID="DropDownList1"
PropertyName="SelectedValue"
Type="String" />
</WhereParameters>
</asp:LinqDataSource>
Вот код в AppointementDoctor.aspx.cs
private void ListAppointement(int iIndexDdl)
{
using (AppointementDataContext db = new AppointementDataContext())
{
var rdvItems = from Appointement in db.Appointement
where Appointement.doctorId == iIndexDdl && Appointement.isAvailable ==
true && Appointement.dateApt >= DateTime.Now
select Appointement;
ListView1.DataSourceID = null;
ListView1.DataSource = rdvItems;
int numberOfRecords = rdvItems.Count();
if (numberOfRecords == 0)
{
lblMessage.Text = "No Appointement is available";
}
ListView1.DataBind();
};
}
В назначении не следует сопоставить полей или свойств в таблицу «Доктор». Вы должны использовать запрос LINQ для извлечения дополнительных полей из связанной таблицы, ваша датамодель должна напоминать базу данных. Создавайте модели просмотра, если это необходимо для сложных ситуаций. – jessehouwing
Я должен создать представление между двумя таблицами и поместить это представление вместо двух таблиц? Помните, что это заполнение ListView, теперь этот Listview не видит имя Doctor, так как это всего лишь ключ к таблице Doctor – user3127986
извините, я исправил ошибку, это должно быть this._Doctor_name – user3127986