Есть потребность простом запросе на проверку данных.
Найти примеров не смог и есть ли они вообще.
.Column("StartDate")
.From("CurrencyRate")
.Where("StartDate").IsEqual(Column.Const(_date)).Execute() > 0)
{
// код
}
Как я понимаю можно так?
Нравится
Если это серверная логика, то так:
[csharp]
if ((new Select(UserConnection).Column(Func.Count("Id")).From("ActivityCorrespondence").Where("ActivityId").IsEqual(Column.Parameter(Entity.ActivityId)) as Select).ExecuteScalar() > 0) {
//...
}
[/csharp]
Также учтите, что поле «StartDate» хранит дату-время, поэтому на равенство сравнивать нет смысла, нужно взять интервал двух дат начала и конца периода (то есть дня) и сравнивать при помощи «IsLessOrEqual» и «IsGreaterOrEqual».
Вышла ошибка как только переделал
UserConnection является тип но используется как переменная
if ((new Select(UserConnection)
.Column(Func.Count("Rate"))
.From("CurrencyRate")
.Where("StartDate").IsLessOrEqual(Column.Const(_today))
.And("StartDate").IsGreaterOrEqual(Column.Const(_yesterday))
.ExecuteScalar() > 0))
{
return "That date already exists!";
} else {
Мой косяк.
Спасибо, заработало.
[csharp]
DateTime _today = DateTime.Today;
DateTime _yesterday = DateTime.Today.AddDays(-1);
var userConnection = (UserConnection)HttpContext.Current.Session["UserConnection"];
var entityRowCount = (new Select(userConnection)
.Column(Func.Count("Rate"))
.From("CurrencyRate")
.Where("StartDate").IsLessOrEqual(Column.Const(_today))
.And("StartDate").IsGreaterOrEqual(Column.Const(_yesterday))
as Select).ExecuteScalar();
if ( entityRowCount > 0)
{
return "That date already exists!";
} else {
[/csharp]
Да, верно. Но так вы проверяете вчерашний день. Для сегодняшнего нужно брать промежуток от сегодня до завтра.