Собственный запрос db4o в C#: как найти по первому номеру?
- Например, я хочу изменить последнее число каждого моего "Нет" для всех студентов (которые родились в период между 1996 и 1998 годами) на 0. (от 160456 до 1604560)
- Я хочу удалить данные для студентов, чье "Нет", первые 2 числа, например, 14. (user2.No = 143457;) Как найти данные только по 1 или более числам?
Я использую Linq:
using System.Linq;
using Db4objects.Db4o.Linq;
Моя база данных выглядит так:
User user1 = new User();
user1.Name = "Bob";
user1.Surname = "Topson";
user1.No = 160456;
user1.Birth = new DateTime (1998, 5, 12);
User user2 = new User();
user2.Name = "Rob";
user2.Surname = "Simpson";
user2.No = 143457;
user2.Birth = new DateTime (1996, 8, 4);
мой код user.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace db4o
{
class User
{
public string Name { get; set; }
public string Surname { get; set; }
public int No { get; set; }
public DateTime Birth { get; set; }
}
}
0 ответов
// Ответ на первый вопрос
var r = from User p in db
// ling for some data from your db
where user1.Birth >= Convert.ToDateTime(1996 / 8 / 4) && user1.Birth <= Convert.ToDateTime(1998 / 8 / 4)
select p;
foreach (User p in r)
{
// Here I use some method
// I'm not a C# programmer
int myint = p.No;
string str1 = Convert.ToString(myint);
str1 = str1.Remove(str1.Length - 1);
str1 = str1 + "0";
p.No =Convert.ToInt32(str1);
// now save data
db.Store(p);
// print data
Console.Write(string.Format("{0} {1}\n", p.Name, p.No));
}