Това е форма на Windows, аз съм нов и нямам много умения, но разбирам
имам 5 маса
слой = layerID int, layerName низ ( layerID = PK)
Gor = LayerID int, GroID int, GroNnumber низ (GroID = PK и LayerID = FK)
Gru = GruID int, GroID int, GruNumber низ (GruID = PK и GorID = FK)
Das = GruID int, DasID int, DasNumber низ (DasID = PK и GruID = FK)
Grop = GropID int, DasID int, GropNumber низ (GropID = PD и DasID = FK)
цялата тази връзка от 5 таблици (PK - FK)
използвам Join за четене на всички данни от тази 5 таблица и кодът ми също работи и мога да видя всичките си данни от всички 4 таблици в моя datagridview
това е моят код
using (UnitOfWork db = new UnitOfWork())
{
DGVCharts.AutoGenerateColumns = false;
var result = from layer in db.LayerRepository.Get()
join gor in db.GorRepository.Get() on layer.LayerID equals gor.LayerID
join gru in db.GruRepository.Get() on gor.GorID equals gru.GorID
join das in db.DasRepository.Get() on gru.GruID equals das.GruID
join grop in db.GropRepository.Get() on das.DastehID equals grop.DastehID
select new
{
layer.LayerID,
layer.LayerName,
gor.GorID,
gor.GorNumber,
gru.GruID,
gru.GruNumber,
das.DasID,
das.DasNumber,
grop.GropID,
grop.GropNumber,
};
DGVCharts.DataSource = result.ToList();
}
}
'''
това е последната ми маса
Позиция = PositionID int, низ PositionCharts, низ PositionName
Данни на PositionCharts = (данни GruNumber, данни DasNumber, данни GroNumber)
Данни Нещо подобно
GruNumber, DasNumber, GropNumber
Gru01, Das01, Grop01
Gru02, Das02, Grop02
FreeGru01, FreeDas01, FreeGrop01
Графики на позиции: Име на позиция
FreeGru01: Майсторе
FreeDas01: Член
FreeGrop01: Шефе
използвам този код за свързване на тези данни, ако (GruNumber или DasNumber или GropNumber = positioncharts), тогава виждам PositionName също в моя datagridview
променям кода си на този код
'''
using (UnitOfWork db = new UnitOfWork())
{
DGVCharts.AutoGenerateColumns = false;
var result = from layer in db.LayerRepository.Get()
join gor in db.GorRepository.Get() on layer.LayerID equals gor.LayerID
join gru in db.GruRepository.Get() on gor.GorID equals gru.GorID
join das in db.DasRepository.Get() on gru.GruID equals das.GruID
join grop in db.GropRepository.Get() on das.DastehID equals grop.DastehID
join position in db.PositionRepository.Get() on gru.GruNumber || das.DastehNumber || grop.GroupNumber equals position.PositionCharts
select new
{
layer.LayerID,
layer.LayerName,
gor.GorID,
gor.GorNumber,
gru.GruID,
gru.GruNumber,
das.DasID,
das.DasNumber,
grop.GropID,
grop.GropNumber,
position.PositionID,
position.PositionName
};
DGVCharts.DataSource = result.ToList();
}
}
''', но след като използвам този код, получавам тази грешка
оператор '||' не може да се прилага към операнди от тип "низ" и "низ"
променям кода на това
'''
join position in db.PositionRepository.Get() on
gru.GruNumber equals position.PositionCharts ||
das.DastehNumber equals position.PositionCharts ||
grop.GroupNumber equals position.PositionCharts
'''
не работа
и този
'''
join position in db.PositionRepository.Get() on
(gru.GruNumber equals position.PositionCharts ||
das.DastehNumber equals position.PositionCharts ||
grop.GroupNumber equals position.PositionCharts)
'''
не работа !
как мога да разреша този проблем?
string||string
?? - person TaW   schedule 23.04.2020... on gru.GruNumber || das.DastehNumber || grop.GroupNumber equals position.PositionCharts
? - person 500 - Internal Server Error   schedule 23.04.2020from
...where
. - person NetMage   schedule 23.04.2020