我有一个 linq 查询,它根据问题文本返回问题的 ID。然后需要使用该 ID 将日期表中的日期与该特定问题相关联。问题已存储,并且日期存储在不同的时间。
问题是查询以匿名类型返回 QuestionID,因此当我需要将该 QuestionID 分配为另一个表中的 QuestionID 时,它会抛出一个错误,指出该表需要 Guid。之后,我将匿名类型转换为字符串,然后使用 GUID 转换功能将字符串转换为 GUID,但现在出现错误,GUID 应该是 32 个字符和 4 个破折号。
我对此的想法是,匿名类型将 QuestionID 返回为“QuestionID = jkj939-89239829- 等等”。- 前面有字符的前缀,因此在转换为 GUID 时,转换后的字符串包含这些字符。
我错过了什么吗?我真的不明白为什么它会这样做,有没有办法删除匿名类型返回的前缀?帮助将不胜感激。
这是代码:
public static void GetQuesID(string quesText)
{
ExamineDataContext dc = new ExamineDataContext();
var matchedques = from q in dc.GetTable<Question>()
where q.QuestionText.Contains(quesText)
select new{
q.QuestionID
};
foreach (var element in matchedques)
{
MessageBox.Show(element.ToString());
}
try
{
Guid g = Guid.NewGuid();
Table<DateLastUsed> dlused = Repository.GetDateLastUsedTable();
DateLastUsed dlu = new DateLastUsed(); ; …Run Code Online (Sandbox Code Playgroud) 我想创建一个数据库,其中每个表的 PK 都是 GUID,并且在整个数据库中是唯一的,
示例:我的数据库名称是“LOCATION”。我有 3 个表,分别是“城市”、“州”和“国家”。
我希望所有 3 个表都具有与 GUID 相同的 PK 字段,并且该值在数据库中是唯一的。
如何在 SQL Server 中执行此操作,有什么想法吗?我以前从未使用过 SQL Server,因此如果简要解释一下将会很有帮助。
我通过 SSIS 导入平面文件,然后将它们导出到 SQL 表中。我需要在中间某处添加一个包含 GUID 的附加列,以便它也可以导出到表中。
我已确保 SQL 表中准备好了一个附加列,用于将 GUID 传递到其中,但我不确定如何在包中创建 GUID,有什么想法吗?
谢谢
我有一个保存为 16 字节数据的 UUID,如下所示:
unsigned char uuid[16]; //128-bits unique identifier
Run Code Online (Sandbox Code Playgroud)
我想将其转换为 std::string。我可能可以编写一个循环来思考所有字节并生成字符串,但我正在寻找一个更简单/更快的解决方案。有这样的解决办法吗?
这就是我目前所拥有的:
def transactionID = "${java.util.UUID.randomUUID()}";
context.testCase.setPropertyValue('transactionID', transactionID)
Run Code Online (Sandbox Code Playgroud) 我有以下带有属性的C#类Id,我想使用 GUID 设置该属性,如果消费者调用尚未设置此值的 myClass.Id 实例的值,则返回该属性,否则保留并返回现有价值。
public class IdentifiableClass{
public string Id {
get {
if (this.Id == null) {
this.Id = Guid.NewGuid().ToString();
Console.WriteLine("########## Id : " + this.Id );
}
return this.Id;
}
set => this.Id = value;
}
}
Run Code Online (Sandbox Code Playgroud)
在C#中,这样做不是工作,而是我得到一个计算器(不是这个网站,很明显)。最好的猜测是,在同一属性的 getter 中调用 this.Id 似乎会导致循环逻辑。
在Salesforce Apex 中,使用类似的代码,它确实按照我的预期工作,将 this.Id 的值评估为 null,将值分配给新的 Guid,显示值,然后返回值:
public class IdentifiableClass {
public string Id {
get { …Run Code Online (Sandbox Code Playgroud) 我有:
Class A
{
public string FirstName { get; set; }
}
Class B
{
public string FirstName { get; set; }
public Guid RequestId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我要地图从A到B,因为“A”不具有RequestId我想将它设置为Guid.NewGuid()
我试过这个代码:
var config = new MapperConfiguration(cfg =>
{
cfg.CreateMap<A, B>().ForMember(m => m.RequestId, o => Guid.NewGuid());
});
_mapper = config.CreateMapper();
Run Code Online (Sandbox Code Playgroud)
但是我在 RequestId 中仍然得到空的Guid。
我需要创建一个令牌/密钥以将其用作数字顺序,因此这应该是唯一的,令牌必须类似于"6X990742MG185953R",因此我们可以像条形码一样使用它,例如.http://barcodes4.me/barcode/c128b/6X990742MG185953R.png
我们不能使用UUID或GUID,因为要长,我们越接近这个:
function uuid64() {
$uuid = uuid(); // some UUID v4
$byteString = "";
$uuid = str_replace("-", "", $uuid);
for($i = 0; $i < strlen($uuid); $i += 2) {
$s = substr($uuid, $i, 2);
$d = hexdec($s);
$c = chr($d);
$byteString = $byteString.$c;
}
$b64uuid = base64_encode($byteString);
// Replace the "/" and "+" since they are reserved characters
$b64uuid = str_replace("/", "_", $b64uuid);
$b64uuid = str_replace("+", "-", $b64uuid);
// Remove the trailing "=="
$b64uuid = substr($b64uuid, 0, strlen($b64uuid) …Run Code Online (Sandbox Code Playgroud) 我有一个包含一些公共接口的库.在每个公共接口之前有一个:[Guid :("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx")].这个Guid是什么 它有什么作用?是否可以从此库中访问方法而无需仅使用此Guid添加lib.或者我可以使用此Guid的另一个应用程序做什么?
我在C#,.NET 4.0中使用Guid.NewGuid().而且我发现了一个有趣的事实:我生成的每个Guid在13位都有'4'.
da1471ac-11f7- 4 fb7-a7fa-927fffe8a97c
c90058aa-5d7f- 4 bb5-b3a9-c1db197cf3b1
fa68ec75-8cd2- 4 c24-92f8-41dbbdd428a0
d4efd455-e892- 4 3ef-b7bf-9462c5dc4de4
e0a001a0-8969- 4 092-b7a2-e410ed2b351a
30ae98b9-48ae- 4 25d-b6e7-e091502d6ce2
6a95de82-67ff- 4 4c9-9f7b-e37a80462cf7
66768e46-6d60- 4 2b4-b473-2f6f8bc1559a
Run Code Online (Sandbox Code Playgroud)
我在几台机器上试过它并得到了相同的结果.任何人都可以尝试或解释它吗?
简单的检查代码:
static void Main(string[] args)
{
bool ok = false;
for (int i = 0; i < 10000; i++)
{
var guid = Guid.NewGuid();
if (guid.ToString()[14] != '4')
ok = true;
Console.WriteLine(guid);
}
Console.WriteLine(ok ? "No bug!" : "4bug founded!");
}
Run Code Online (Sandbox Code Playgroud)